{
 "abort_on_missing": false, 
 "check_memory": false, 
 "enable_e10s": false, 
 "is-sdk-bundled": false, 
 "jetpackID": "jid1-KtlZuoiikVfFew@jetpack", 
 "loader": "addon-sdk/lib/sdk/loader/cuddlefish.js", 
 "main": "lib/main", 
 "mainPath": "librejs/main", 
 "manifest": {
  "librejs/addon_management/install_uninstall": {
   "docsSHA256": null, 
   "jsSHA256": "b78ebeb97a54faec0bb84b6e1bab5196ebc3b743fffc48ac61c74d2ea4455779", 
   "moduleName": "addon_management/install_uninstall", 
   "packageName": "librejs", 
   "requirements": {
    "chrome": "chrome", 
    "http_observer/caching": "librejs/http_observer/caching", 
    "http_observer/http_request_observer": "librejs/http_observer/http_request_observer", 
    "parser/narcissus_worker": "librejs/parser/narcissus_worker", 
    "sdk/tabs": "sdk/tabs", 
    "settings/storage": "librejs/settings/storage"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/addon_management/prefchange": {
   "docsSHA256": null, 
   "jsSHA256": "af09f0cd11d98c63cb7bc31ea0a2012ae5749417838fb6c6d755d54f984bb66f", 
   "moduleName": "addon_management/prefchange", 
   "packageName": "librejs", 
   "requirements": {
    "chrome": "chrome", 
    "script_entries/scripts_cache": "librejs/script_entries/scripts_cache", 
    "sdk/simple-prefs": "sdk/simple-prefs"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/html_script_finder/bug_fix": {
   "docsSHA256": null, 
   "jsSHA256": "00774ce848cbb8e4411e2f34beb3d5f7873d16a8da2075d910332a74aabd987a", 
   "moduleName": "html_script_finder/bug_fix", 
   "packageName": "librejs", 
   "requirements": {}, 
   "sectionName": "lib"
  }, 
  "librejs/html_script_finder/dom_handler": {
   "docsSHA256": null, 
   "jsSHA256": "c28997dfa6916ae696e9153bdf25af139c4e7ecc5ebc9d0deb0f0c444dbc4d32", 
   "moduleName": "html_script_finder/dom_handler", 
   "packageName": "librejs", 
   "requirements": {
    "addon_management/prefchange": "librejs/addon_management/prefchange", 
    "chrome": "chrome", 
    "html_script_finder/dom_handler/attributes": "librejs/html_script_finder/dom_handler/attributes", 
    "html_script_finder/dom_handler/dom_checker": "librejs/html_script_finder/dom_handler/dom_checker", 
    "html_script_finder/dom_handler/dom_gatherer": "librejs/html_script_finder/dom_handler/dom_gatherer", 
    "html_script_finder/dom_handler/script_object": "librejs/html_script_finder/dom_handler/script_object", 
    "html_script_finder/dom_handler/script_properties": "librejs/html_script_finder/dom_handler/script_properties", 
    "html_script_finder/web_labels/js_web_labels": "librejs/html_script_finder/web_labels/js_web_labels", 
    "http_observer/allowed_referrers": "librejs/http_observer/allowed_referrers", 
    "js_checker/constant_types": "librejs/js_checker/constant_types", 
    "js_checker/js_checker": "librejs/js_checker/js_checker", 
    "js_checker/privacy_checker": "librejs/js_checker/privacy_checker", 
    "url_handler/url_handler": "librejs/url_handler/url_handler"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/html_script_finder/dom_handler/attributes": {
   "docsSHA256": null, 
   "jsSHA256": "86c5b89ce30dcb634e1d5352d38c4c2141faee08a511bceed3a4c53f429472e0", 
   "moduleName": "html_script_finder/dom_handler/attributes", 
   "packageName": "librejs", 
   "requirements": {
    "html_script_finder/dom_handler/script_object": "librejs/html_script_finder/dom_handler/script_object", 
    "html_script_finder/dom_handler/script_properties": "librejs/html_script_finder/dom_handler/script_properties"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/html_script_finder/dom_handler/dom_checker": {
   "docsSHA256": null, 
   "jsSHA256": "0c3fb8f55d636d6cd165b67e85a053132530d564409be98910182bb04ec83da5", 
   "moduleName": "html_script_finder/dom_handler/dom_checker", 
   "packageName": "librejs", 
   "requirements": {
    "chrome": "chrome", 
    "html_script_finder/dom_handler/request": "librejs/html_script_finder/dom_handler/request", 
    "html_script_finder/dom_handler/script_properties": "librejs/html_script_finder/dom_handler/script_properties", 
    "html_script_finder/url_seen_tester": "librejs/html_script_finder/url_seen_tester", 
    "js_checker/constant_types": "librejs/js_checker/constant_types", 
    "js_checker/js_checker": "librejs/js_checker/js_checker", 
    "js_checker/privacy_checker": "librejs/js_checker/privacy_checker", 
    "script_entries/scripts_cache": "librejs/script_entries/scripts_cache", 
    "sdk/timers": "sdk/timers", 
    "url_handler/url_handler": "librejs/url_handler/url_handler"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/html_script_finder/dom_handler/dom_gatherer": {
   "docsSHA256": null, 
   "jsSHA256": "5c3c6fe8b44d506dc5d042c3255d35e1ccae60fc414b35bd05faecfd600f4d3a", 
   "moduleName": "html_script_finder/dom_handler/dom_gatherer", 
   "packageName": "librejs", 
   "requirements": {
    "html_script_finder/bug_fix": "librejs/html_script_finder/bug_fix", 
    "html_script_finder/dom_handler/attributes": "librejs/html_script_finder/dom_handler/attributes", 
    "html_script_finder/dom_handler/script_object": "librejs/html_script_finder/dom_handler/script_object", 
    "html_script_finder/dom_handler/script_properties": "librejs/html_script_finder/dom_handler/script_properties", 
    "js_checker/constant_types": "librejs/js_checker/constant_types", 
    "js_checker/privacy_checker": "librejs/js_checker/privacy_checker", 
    "script_entries/scripts_cache": "librejs/script_entries/scripts_cache", 
    "url_handler/url_handler": "librejs/url_handler/url_handler"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/html_script_finder/dom_handler/request": {
   "docsSHA256": null, 
   "jsSHA256": "1918e579fe8bbd4b4bc9563671187cfc267212806efc4c4b1096918388cedfd7", 
   "moduleName": "html_script_finder/dom_handler/request", 
   "packageName": "librejs", 
   "requirements": {
    "chrome": "chrome", 
    "html_script_finder/url_seen_tester": "librejs/html_script_finder/url_seen_tester", 
    "script_entries/scripts_cache": "librejs/script_entries/scripts_cache", 
    "sdk/timers": "sdk/timers", 
    "url_handler/url_handler": "librejs/url_handler/url_handler"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/html_script_finder/dom_handler/script_object": {
   "docsSHA256": null, 
   "jsSHA256": "db9933f854feb1f6887e643ef110b8c7ec69bd48ae73e4b3364eaf90328b4ab2", 
   "moduleName": "html_script_finder/dom_handler/script_object", 
   "packageName": "librejs", 
   "requirements": {
    "script_entries/accepted_scripts": "librejs/script_entries/accepted_scripts", 
    "script_entries/dryrun_scripts": "librejs/script_entries/dryrun_scripts", 
    "script_entries/removed_scripts": "librejs/script_entries/removed_scripts"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/html_script_finder/dom_handler/script_properties": {
   "docsSHA256": null, 
   "jsSHA256": "13442bf443dde1cdcab84a86c0562df7a0d9a8aef6a130cc688f7e669a5d6e70", 
   "moduleName": "html_script_finder/dom_handler/script_properties", 
   "packageName": "librejs", 
   "requirements": {}, 
   "sectionName": "lib"
  }, 
  "librejs/html_script_finder/html_parser": {
   "docsSHA256": null, 
   "jsSHA256": "2fc55cf1e90ade703e65f5aaed4ac350b82abe4b418a648f025cdc648964f447", 
   "moduleName": "html_script_finder/html_parser", 
   "packageName": "librejs", 
   "requirements": {
    "chrome": "chrome", 
    "html_script_finder/dom_handler": "librejs/html_script_finder/dom_handler"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/html_script_finder/url_seen_tester": {
   "docsSHA256": null, 
   "jsSHA256": "f0d64fd7ebe2bcff3312a3439e9e54cf570bb6b3697a34b63cdf1847182f668e", 
   "moduleName": "html_script_finder/url_seen_tester", 
   "packageName": "librejs", 
   "requirements": {}, 
   "sectionName": "lib"
  }, 
  "librejs/html_script_finder/web_labels/find_js_labels": {
   "docsSHA256": null, 
   "jsSHA256": "5638228ac2995090744e23f96f5536d5d2545fb83a82277e4796d765408d8b17", 
   "moduleName": "html_script_finder/web_labels/find_js_labels", 
   "packageName": "librejs", 
   "requirements": {}, 
   "sectionName": "lib"
  }, 
  "librejs/html_script_finder/web_labels/js_web_labels": {
   "docsSHA256": null, 
   "jsSHA256": "b9d202e43ee6e0882f19a14e6a21ab4e816769b553f079540cde4c9204670228", 
   "moduleName": "html_script_finder/web_labels/js_web_labels", 
   "packageName": "librejs", 
   "requirements": {
    "chrome": "chrome", 
    "html_script_finder/web_labels/find_js_labels": "librejs/html_script_finder/web_labels/find_js_labels", 
    "html_script_finder/web_labels/script_hash_worker": "librejs/html_script_finder/web_labels/script_hash_worker", 
    "js_checker/constant_types": "librejs/js_checker/constant_types", 
    "js_checker/license_definitions": "librejs/js_checker/license_definitions", 
    "sdk/self": "sdk/self", 
    "sdk/timers": "sdk/timers", 
    "sdk/url": "sdk/url", 
    "url_handler/url_handler": "librejs/url_handler/url_handler"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/html_script_finder/web_labels/script_hash_worker": {
   "docsSHA256": null, 
   "jsSHA256": "cf9a9c2c803daa74e223429431f9140c5524cbe570dd09bf611c3b8f32572d4a", 
   "moduleName": "html_script_finder/web_labels/script_hash_worker", 
   "packageName": "librejs", 
   "requirements": {
    "html_script_finder/dom_handler/dom_checker": "librejs/html_script_finder/dom_handler/dom_checker", 
    "js_checker/constant_types": "librejs/js_checker/constant_types", 
    "script_entries/scripts_cache": "librejs/script_entries/scripts_cache", 
    "sdk/timers": "sdk/timers"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/http_observer/allowed_referrers": {
   "docsSHA256": null, 
   "jsSHA256": "bd6f1b505826869176a90eee89ba53dfef4824a5cedfdeb9b4c3c4cb96bd8906", 
   "moduleName": "http_observer/allowed_referrers", 
   "packageName": "librejs", 
   "requirements": {
    "addon_management/prefchange": "librejs/addon_management/prefchange"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/http_observer/caching": {
   "docsSHA256": null, 
   "jsSHA256": "82fb91a8e048e79fdf347a870b09941277fca9e2350b824f11ed7cfd53923173", 
   "moduleName": "http_observer/caching", 
   "packageName": "librejs", 
   "requirements": {
    "chrome": "chrome"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/http_observer/http_request_observer": {
   "docsSHA256": null, 
   "jsSHA256": "478999611e52df1458bc861c658bdcb179782cf83c2e3f00d95fbe640470c9f4", 
   "moduleName": "http_observer/http_request_observer", 
   "packageName": "librejs", 
   "requirements": {
    "chrome": "chrome", 
    "html_script_finder/url_seen_tester": "librejs/html_script_finder/url_seen_tester", 
    "http_observer/stream_loader": "librejs/http_observer/stream_loader"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/http_observer/process_response": {
   "docsSHA256": null, 
   "jsSHA256": "c9efc372a64c71375964ef567de75db8a09f9244e134e4d0feff6d7acc49a939", 
   "moduleName": "http_observer/process_response", 
   "packageName": "librejs", 
   "requirements": {
    "addon_management/prefchange": "librejs/addon_management/prefchange", 
    "chrome": "chrome", 
    "html_script_finder/html_parser": "librejs/html_script_finder/html_parser", 
    "html_script_finder/web_labels/js_web_labels": "librejs/html_script_finder/web_labels/js_web_labels", 
    "http_observer/allowed_referrers": "librejs/http_observer/allowed_referrers", 
    "js_checker/constant_types": "librejs/js_checker/constant_types", 
    "js_checker/js_checker": "librejs/js_checker/js_checker", 
    "script_entries/accepted_scripts": "librejs/script_entries/accepted_scripts", 
    "script_entries/dryrun_scripts": "librejs/script_entries/dryrun_scripts", 
    "script_entries/removed_scripts": "librejs/script_entries/removed_scripts", 
    "url_handler/url_handler": "librejs/url_handler/url_handler"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/http_observer/stream_loader": {
   "docsSHA256": null, 
   "jsSHA256": "0d3694002a24e5735391556eb5013364cd02d9b43d323c2be56f57467ed9a784", 
   "moduleName": "http_observer/stream_loader", 
   "packageName": "librejs", 
   "requirements": {
    "chrome": "chrome", 
    "http_observer/process_response": "librejs/http_observer/process_response"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/js_checker/constant_types": {
   "docsSHA256": null, 
   "jsSHA256": "9327eb745318a8c4aa668bf8ad147ee15b541914dc4d408cc4a7752c5fe70a3f", 
   "moduleName": "js_checker/constant_types", 
   "packageName": "librejs", 
   "requirements": {}, 
   "sectionName": "lib"
  }, 
  "librejs/js_checker/free_checker": {
   "docsSHA256": null, 
   "jsSHA256": "445c610c4035848553e1a05d132b24f8aed5eaee088fc0022f74734b189afe6f", 
   "moduleName": "js_checker/free_checker", 
   "packageName": "librejs", 
   "requirements": {
    "html_script_finder/bug_fix": "librejs/html_script_finder/bug_fix", 
    "js_checker/constant_types": "librejs/js_checker/constant_types", 
    "js_checker/license_definitions": "librejs/js_checker/license_definitions", 
    "js_checker/pattern_utils": "librejs/js_checker/pattern_utils", 
    "sdk/simple-storage": "sdk/simple-storage"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/js_checker/js_checker": {
   "docsSHA256": null, 
   "jsSHA256": "cfdc61f93a49072fcccc542746520fb9d48feb4b6768262af12d3622a0871e9f", 
   "moduleName": "js_checker/js_checker", 
   "packageName": "librejs", 
   "requirements": {
    "addon_management/prefchange": "librejs/addon_management/prefchange", 
    "chrome": "chrome", 
    "html_script_finder/bug_fix": "librejs/html_script_finder/bug_fix", 
    "js_checker/constant_types": "librejs/js_checker/constant_types", 
    "js_checker/free_checker": "librejs/js_checker/free_checker", 
    "js_checker/nontrivial_checker": "librejs/js_checker/nontrivial_checker", 
    "js_checker/relation_checker": "librejs/js_checker/relation_checker", 
    "parser/narcissus_worker": "librejs/parser/narcissus_worker", 
    "script_entries/scripts_cache": "librejs/script_entries/scripts_cache", 
    "sdk/timers": "sdk/timers", 
    "ui/notification": "librejs/ui/notification"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/js_checker/license_definitions": {
   "docsSHA256": null, 
   "jsSHA256": "801bf3c6435824d0746d888c6833819bb6a8b36ba2d38c2235825c99f43e86f7", 
   "moduleName": "js_checker/license_definitions", 
   "packageName": "librejs", 
   "requirements": {}, 
   "sectionName": "lib"
  }, 
  "librejs/js_checker/nontrivial_checker": {
   "docsSHA256": null, 
   "jsSHA256": "7df338528a6ec20b2f41f48976d37c26d439a44d43ac991bfb4263d05cc13c7f", 
   "moduleName": "js_checker/nontrivial_checker", 
   "packageName": "librejs", 
   "requirements": {
    "js_checker/constant_types": "librejs/js_checker/constant_types"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/js_checker/pattern_utils": {
   "docsSHA256": null, 
   "jsSHA256": "8713284af95d802646022691d72b3b853d6c750eaf37135296662e4eac9c2914", 
   "moduleName": "js_checker/pattern_utils", 
   "packageName": "librejs", 
   "requirements": {}, 
   "sectionName": "lib"
  }, 
  "librejs/js_checker/privacy_checker": {
   "docsSHA256": null, 
   "jsSHA256": "8a068ce2daeaffe2b4a76d714ec9a3763ee9f978c57e56f9757cefbc5c648fab", 
   "moduleName": "js_checker/privacy_checker", 
   "packageName": "librejs", 
   "requirements": {
    "js_checker/pattern_utils": "librejs/js_checker/pattern_utils", 
    "js_checker/privacy_threat_definitions.js": "librejs/js_checker/privacy_threat_definitions"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/js_checker/privacy_threat_definitions": {
   "docsSHA256": null, 
   "jsSHA256": "94e6f14ab0212d278f825ddc1f7b828fa2dd0637ec384a255ac84d91370cf482", 
   "moduleName": "js_checker/privacy_threat_definitions.js", 
   "packageName": "librejs", 
   "requirements": {}, 
   "sectionName": "lib"
  }, 
  "librejs/js_checker/relation_checker": {
   "docsSHA256": null, 
   "jsSHA256": "54ca8c75c75c62dce31465d8d71581d92d87d45a67efc9ac2d5af2771fe1abdf", 
   "moduleName": "js_checker/relation_checker", 
   "packageName": "librejs", 
   "requirements": {
    "js_checker/constant_types": "librejs/js_checker/constant_types"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/main": {
   "docsSHA256": null, 
   "jsSHA256": "7729ed1dc55313d601fde31e512bcf8ef840aef5efdceaa001f498db21adba7c", 
   "moduleName": "main", 
   "packageName": "librejs", 
   "requirements": {
    "addon_management/install_uninstall": "librejs/addon_management/install_uninstall", 
    "addon_management/prefchange": "librejs/addon_management/prefchange", 
    "chrome": "chrome", 
    "http_observer/http_request_observer": "librejs/http_observer/http_request_observer", 
    "pref_observer/pref_observer": "librejs/pref_observer/pref_observer", 
    "sdk/preferences/service": "sdk/preferences/service", 
    "settings/storage": "librejs/settings/storage", 
    "ui": "librejs/ui", 
    "ui/script_panel.js": "librejs/ui/script_panel", 
    "ui/ui_info": "librejs/ui/ui_info"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/parser/narcissus_worker": {
   "docsSHA256": null, 
   "jsSHA256": "57ae8c03ad08c7242c43e1a6a4143f31eb176be9687e07f16d8137209d3f83ff", 
   "moduleName": "parser/narcissus_worker", 
   "packageName": "librejs", 
   "requirements": {
    "chrome": "chrome", 
    "js_checker/js_checker": "librejs/js_checker/js_checker", 
    "sdk/self": "sdk/self"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/pref_observer/pref_observer": {
   "docsSHA256": null, 
   "jsSHA256": "985652fb6b93b60a46dbe376cc45cff9aba48767da4d3be1f74fc39f22fb450a", 
   "moduleName": "pref_observer/pref_observer", 
   "packageName": "librejs", 
   "requirements": {
    "chrome": "chrome", 
    "http_observer/http_request_observer": "librejs/http_observer/http_request_observer", 
    "sdk/preferences/service": "sdk/preferences/service"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/script_entries/accepted_scripts": {
   "docsSHA256": null, 
   "jsSHA256": "aa9e23e7f54bcb935f62d8ad0c8f5bfd3032d32433771154932e355e04852263", 
   "moduleName": "script_entries/accepted_scripts", 
   "packageName": "librejs", 
   "requirements": {
    "script_entries/all_scripts": "librejs/script_entries/all_scripts"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/script_entries/all_scripts": {
   "docsSHA256": null, 
   "jsSHA256": "a219023367c56f9698c39731c3a554bb81def6a23f645625adb27bf4804a529c", 
   "moduleName": "script_entries/all_scripts", 
   "packageName": "librejs", 
   "requirements": {
    "script_entries/crypto": "librejs/script_entries/crypto"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/script_entries/crypto": {
   "docsSHA256": null, 
   "jsSHA256": "74a2c6893ba9b871f01a340403fee1639dcc78dbe869a9f23bace2478e60abf5", 
   "moduleName": "script_entries/crypto", 
   "packageName": "librejs", 
   "requirements": {
    "chrome": "chrome"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/script_entries/dryrun_scripts": {
   "docsSHA256": null, 
   "jsSHA256": "1109c4841a8924f96ab2f27dd64fbecf243a4c00b00a06b7ae8efab51a022e8c", 
   "moduleName": "script_entries/dryrun_scripts", 
   "packageName": "librejs", 
   "requirements": {
    "script_entries/all_scripts": "librejs/script_entries/all_scripts", 
    "url_handler/url_handler": "librejs/url_handler/url_handler"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/script_entries/free_libraries": {
   "docsSHA256": null, 
   "jsSHA256": "c9bf7ad7a2492324b98f32bff69147d59c019fcf71c18f9cc37851a94ad468a3", 
   "moduleName": "script_entries/free_libraries", 
   "packageName": "librejs", 
   "requirements": {
    "js_checker/constant_types": "librejs/js_checker/constant_types", 
    "js_checker/relation_checker": "librejs/js_checker/relation_checker", 
    "script_entries/scripts_cache": "librejs/script_entries/scripts_cache", 
    "sdk/self": "sdk/self"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/script_entries/removed_scripts": {
   "docsSHA256": null, 
   "jsSHA256": "8ddc24050cbea9f12b31b616bf61b528c1241fff27d14ef0ff3a2fbae531e349", 
   "moduleName": "script_entries/removed_scripts", 
   "packageName": "librejs", 
   "requirements": {
    "script_entries/all_scripts": "librejs/script_entries/all_scripts", 
    "url_handler/url_handler": "librejs/url_handler/url_handler"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/script_entries/scripts_cache": {
   "docsSHA256": null, 
   "jsSHA256": "7c03ea3f3926e4c802b6b14aa01fa9d78be25326b06f3e228915b70f4416d5e3", 
   "moduleName": "script_entries/scripts_cache", 
   "packageName": "librejs", 
   "requirements": {
    "js_checker/constant_types": "librejs/js_checker/constant_types", 
    "js_checker/relation_checker": "librejs/js_checker/relation_checker", 
    "script_entries/crypto": "librejs/script_entries/crypto", 
    "script_entries/free_libraries": "librejs/script_entries/free_libraries", 
    "ui/notification": "librejs/ui/notification"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/settings/settings_tab": {
   "docsSHA256": null, 
   "jsSHA256": "2b2ea2b657e51109c6caeb4464f75ede476b9fb672a8e550de56cfff33811fa7", 
   "moduleName": "settings/settings_tab", 
   "packageName": "librejs", 
   "requirements": {
    "script_entries/scripts_cache": "librejs/script_entries/scripts_cache", 
    "sdk/self": "sdk/self", 
    "sdk/tabs": "sdk/tabs", 
    "settings/storage": "librejs/settings/storage"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/settings/storage": {
   "docsSHA256": null, 
   "jsSHA256": "0b1274e63ed9e9cab2bead56dad469a709460a2443eb6aa2bbdb1e5cac4f5306", 
   "moduleName": "settings/storage", 
   "packageName": "librejs", 
   "requirements": {
    "chrome": "chrome", 
    "js_checker/relation_checker": "librejs/js_checker/relation_checker", 
    "script_entries/free_libraries": "librejs/script_entries/free_libraries", 
    "script_entries/scripts_cache": "librejs/script_entries/scripts_cache"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/ui": {
   "docsSHA256": null, 
   "jsSHA256": "d540923f2af5519a22217c15fb4ee0c32b2f226ac4dbf4343180877a89a6e4bf", 
   "moduleName": "ui", 
   "packageName": "librejs", 
   "requirements": {
    "html_script_finder/web_labels/js_web_labels": "librejs/html_script_finder/web_labels/js_web_labels", 
    "http_observer/allowed_referrers": "librejs/http_observer/allowed_referrers", 
    "js_checker/constant_types": "librejs/js_checker/constant_types", 
    "js_checker/js_checker": "librejs/js_checker/js_checker", 
    "menuitems": "menuitems/menuitems", 
    "script_entries/accepted_scripts": "librejs/script_entries/accepted_scripts", 
    "script_entries/dryrun_scripts": "librejs/script_entries/dryrun_scripts", 
    "script_entries/removed_scripts": "librejs/script_entries/removed_scripts", 
    "script_entries/scripts_cache": "librejs/script_entries/scripts_cache", 
    "sdk/panel": "sdk/panel", 
    "sdk/self": "sdk/self", 
    "sdk/tabs": "sdk/tabs", 
    "sdk/ui/button/toggle": "sdk/ui/button/toggle", 
    "sdk/window/utils": "sdk/window/utils", 
    "settings/settings_tab": "librejs/settings/settings_tab", 
    "url_handler/url_handler": "librejs/url_handler/url_handler"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/ui/notification": {
   "docsSHA256": null, 
   "jsSHA256": "43b48acdce02c58b525040972dfc28fbed32fffe1b2eaf0351c198ccedaa9751", 
   "moduleName": "ui/notification", 
   "packageName": "librejs", 
   "requirements": {
    "addon_management/prefchange": "librejs/addon_management/prefchange", 
    "notification-box": "notification-box/notification-box", 
    "sdk/self": "sdk/self", 
    "sdk/timers": "sdk/timers"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/ui/script_panel": {
   "docsSHA256": null, 
   "jsSHA256": "98bf80f5942a0a2839b4d2bfa8bd94f8886215f43e80c1fa6d466d6aaa0817fa", 
   "moduleName": "ui/script_panel.js", 
   "packageName": "librejs", 
   "requirements": {
    "url_handler/url_handler": "librejs/url_handler/url_handler"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/ui/ui_info": {
   "docsSHA256": null, 
   "jsSHA256": "44adfa30ccdfa4b671f71c563fa0ea7d0d818f1a7046123c22fd4bec5430e735", 
   "moduleName": "ui/ui_info", 
   "packageName": "librejs", 
   "requirements": {
    "addon_management/prefchange": "librejs/addon_management/prefchange", 
    "sdk/page-mod": "sdk/page-mod", 
    "sdk/page-worker": "sdk/page-worker", 
    "sdk/self": "sdk/self", 
    "sdk/tabs": "sdk/tabs", 
    "url_handler/url_handler": "librejs/url_handler/url_handler"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/url_handler/node_punycode": {
   "docsSHA256": null, 
   "jsSHA256": "65292808e3b26536463db39fe2d20905969a31112326e5cca7dc31a7117c7287", 
   "moduleName": "url_handler/node_punycode", 
   "packageName": "librejs", 
   "requirements": {}, 
   "sectionName": "lib"
  }, 
  "librejs/url_handler/node_querystring": {
   "docsSHA256": null, 
   "jsSHA256": "46e9f5b1f7e935b6ec9e0d3907895b88c21060c687a08661102bcf40af0fdbc4", 
   "moduleName": "url_handler/node_querystring", 
   "packageName": "librejs", 
   "requirements": {}, 
   "sectionName": "lib"
  }, 
  "librejs/url_handler/node_url": {
   "docsSHA256": null, 
   "jsSHA256": "72082ac4797e25f9051bce5c187ad70a6bb410b76ceb3adf329362eab899a2aa", 
   "moduleName": "url_handler/node_url", 
   "packageName": "librejs", 
   "requirements": {
    "url_handler/node_punycode": "librejs/url_handler/node_punycode", 
    "url_handler/node_querystring": "librejs/url_handler/node_querystring"
   }, 
   "sectionName": "lib"
  }, 
  "librejs/url_handler/url_handler": {
   "docsSHA256": null, 
   "jsSHA256": "19d55c02dea5897a184c4bdf69967f0fbe22f259df4c49ac07ba91fa0efd8674", 
   "moduleName": "url_handler/url_handler", 
   "packageName": "librejs", 
   "requirements": {
    "url_handler/node_url": "librejs/url_handler/node_url"
   }, 
   "sectionName": "lib"
  }, 
  "menuitems/menuitems": {
   "docsSHA256": "58ad1ff182b33d89a46eb8e0b4847ff84f5403840ddbd03b017a4a855d2008fc", 
   "jsSHA256": "30d5fc7421841e6ac4ec3756515ac8f2dc3850bed7334f3ff038528d18262524", 
   "moduleName": "menuitems", 
   "packageName": "menuitems", 
   "requirements": {
    "sdk/core/heritage": "sdk/core/heritage", 
    "sdk/core/namespace": "sdk/core/namespace", 
    "sdk/deprecated/api-utils": "sdk/deprecated/api-utils", 
    "sdk/deprecated/window-utils": "sdk/deprecated/window-utils", 
    "sdk/event/core": "sdk/event/core", 
    "sdk/event/target": "sdk/event/target", 
    "sdk/window/utils": "sdk/window/utils", 
    "unload+": "vold-utils/unload+"
   }, 
   "sectionName": "lib"
  }, 
  "notification-box/notification-box": {
   "docsSHA256": null, 
   "jsSHA256": "d7e5a8b906ff408b90622769e175d02e243b1e9b238d7a54ad4be213e03c8454", 
   "moduleName": "notification-box", 
   "packageName": "notification-box", 
   "requirements": {
    "chrome": "chrome", 
    "sdk/window/utils": "sdk/window/utils"
   }, 
   "sectionName": "lib"
  }, 
  "vold-utils/unload+": {
   "docsSHA256": "465618992a8bbf3da6425fd79aaec54b92db0353d9670d8dcc1373d14c25b69b", 
   "jsSHA256": "fbbdfe29fd5cd3ed3593d5720278df4091bd208fc14478fcbff6776fad6c4dd1", 
   "moduleName": "unload+", 
   "packageName": "vold-utils", 
   "requirements": {
    "sdk/core/heritage": "sdk/core/heritage", 
    "sdk/core/namespace": "sdk/core/namespace", 
    "sdk/system/unload": "sdk/system/unload"
   }, 
   "sectionName": "lib"
  }
 }, 
 "metadata": {
  "addon-sdk": {
   "description": "Add-on development made easy.", 
   "keywords": [
    "javascript", 
    "engine", 
    "addon", 
    "extension", 
    "xulrunner", 
    "firefox", 
    "browser"
   ], 
   "license": "MPL 2.0", 
   "name": "addon-sdk"
  }, 
  "librejs": {
   "author": "Loic J. Duros", 
   "description": "GNU LibreJS is an add-on for Mozilla-based browsers (IceCat, Firefox, Abrowser, Iceweasel)\n that prevents the execution of nonfree nontrivial JavaScript as described in \"The Javascript Trap\": http://www.gnu.org/philosophy/javascript-trap.html", 
   "homepage": "gnu.org/software/librejs/", 
   "license": "GPL-3.0+", 
   "main": "lib/main", 
   "name": "librejs", 
   "permissions": {
    "private-browsing": true, 
    "unsafe-content-script": true
   }, 
   "version": "6.0.9"
  }, 
  "menuitems": {
   "author": "Erik Vold (http://erikvold.com/) <erikvvold@gmail.com>", 
   "description": "Menuitems for Jetpacks", 
   "keywords": [
    "menu", 
    "menuitems", 
    "button", 
    "ui"
   ], 
   "license": "MPL 2.0", 
   "name": "menuitems", 
   "version": "1.1.1"
  }, 
  "notification-box": {
   "description": "a basic add-on", 
   "license": "MPL 2.0", 
   "main": "main", 
   "name": "notification-box", 
   "version": "0.1"
  }, 
  "vold-utils": {
   "author": "Erik Vold (http://erikvold.com/) <erikvvold@gmail.com>", 
   "description": "Utilitys for Jetpacks", 
   "name": "vold-utils", 
   "version": "1.1"
  }
 }, 
 "name": "librejs", 
 "parseable": false, 
 "preferences": [
  {
   "name": "whitelist", 
   "title": "Whitelist domain, separated by comma, omit protocol, e.g.: gnu.org, wildcard is *", 
   "type": "string", 
   "value": ""
  }, 
  {
   "name": "complaint_tab", 
   "title": "Display complaint tab on sites where nonfree nontrivial JavaScript is detected", 
   "type": "bool", 
   "value": true
  }, 
  {
   "name": "display_notifications", 
   "title": "Display notifications of the JavaScript code being analyzed by LibreJS.", 
   "type": "bool", 
   "value": false
  }, 
  {
   "description": "Initial subject line used in complaint emails", 
   "name": "complaint_email_subject", 
   "title": "Complaint email subject", 
   "type": "string", 
   "value": "Please make your JavaScript free"
  }, 
  {
   "description": "Initial body text used in complaint emails", 
   "name": "complaint_email_body", 
   "title": "Complaint email body", 
   "type": "string", 
   "value": "I could not use your site because it requires running JavaScript code which is not free software.  Since a nonfree program disrespects the user's freedom, I decided not to run it. \\n\\nSee http://gnu.org/philosophy/javascript-trap.html for more information, and please make your JavaScript code free."
  }
 ], 
 "preferencesBranch": "jid1-KtlZuoiikVfFew@jetpack", 
 "sdkVersion": "1.17", 
 "staticArgs": {}, 
 "verbose": false
}