dict_env['disabled_firefox.dns_over_https.custom_dns_url']="{{ _.provider is propertyerror or _.provider != 'Custom' }}"
option_2=ChoiceOption(name="proxy_mode",doc="Configure Proxy Access to the Internet",values=("No proxy","Auto-detect proxy settings for this network","Use system proxy settings","Manual proxy configuration","Automatic proxy configuration URL"),default="No proxy",properties=frozenset({"mandatory","standard"}),informations={'ymlfiles':['tutorial_tmp/structural/firefox/00-proxy.yml'],'type':'choice'})
option_7=BoolOption(name="use_for_https",doc="Also use this proxy for HTTPS",default=True,properties=frozenset({"mandatory","standard"}),informations={'ymlfiles':['tutorial_tmp/structural/firefox/20-manual.yml'],'type':'boolean'})
option_14=ChoiceOption(name="version",doc="SOCKS host version used by proxy",values=("v4","v5"),default="v5",properties=frozenset({"mandatory","standard"}),informations={'ymlfiles':['tutorial_tmp/structural/firefox/20-manual.yml'],'type':'choice'})
option_16=DomainnameOption(name="no_proxy",doc="Address for which proxy will be desactivated",multi=True,type="domainname",allow_ip=True,allow_cidr_network=True,allow_without_dot=True,allow_startswith_dot=True,properties=frozenset({"standard",Calculation(func['variable_to_property'],Params((),kwargs={'value':ParamOption(option_2),'__internal_multi':ParamValue(True),'prop':ParamValue("disabled"),'when':ParamValue("No proxy"),'inverse':ParamValue(False)}),help_function=func['variable_to_property'])}),informations={'ymlfiles':['tutorial_tmp/structural/firefox/40-no_proxy.yml'],'type':'domainname','examples':('.mozilla.org','.net.nz','192.168.1.0/24'),'help':'Connections to localhost, 127.0.0.1/8 and ::1 are never proxied'})
option_17=BoolOption(name="prompt_authentication",doc="Prompt for authentication if password is saved",default=True,properties=frozenset({"mandatory","standard",Calculation(func['variable_to_property'],Params((),kwargs={'value':ParamOption(option_2),'prop':ParamValue("disabled"),'when':ParamValue("No proxy"),'inverse':ParamValue(False)}),help_function=func['variable_to_property'])}),informations={'ymlfiles':['tutorial_tmp/structural/firefox/50-prompt_authentication.yml'],'type':'boolean'})
option_18=BoolOption(name="proxy_dns_socks5",doc="Use proxy DNS when using SOCKS v5",default=False,properties=frozenset({"advanced","mandatory",Calculation(func['jinja_to_property'],Params((ParamValue("disabled"),ParamValue("if \"_.proxy_mode\" is not \"Manual proxy configuration\"\nor \"_.manual.socks_proxy.version\" is \"v4\"")),kwargs={'__internal_jinja':ParamValue("disabled_firefox.proxy_dns_socks5"),'__internal_type':ParamValue("boolean"),'__internal_multi':ParamValue(False),'__internal_files':ParamValue(['tutorial_tmp/structural/firefox/55-proxy_dns_socks5.yml']),'__internal_attribute':ParamValue("disabled"),'__internal_variable':ParamValue("firefox.proxy_dns_socks5"),'when':ParamValue(True),'inverse':ParamValue(False),'_.manual.socks_proxy.version':ParamOption(option_14,notraisepropertyerror=True)}),help_function=func['jinja_to_property_help'])}),informations={'ymlfiles':['tutorial_tmp/structural/firefox/55-proxy_dns_socks5.yml'],'type':'boolean'})
option_20=BoolOption(name="enable_dns_over_https",doc="Enable DNS over HTTPS",default=False,properties=frozenset({"mandatory","standard"}),informations={'ymlfiles':['tutorial_tmp/structural/firefox/60-dns_over_https.yml'],'type':'boolean'})
option_22=URLOption(name="custom_dns_url",doc="Custom DNS URL",validators=[Calculation(func['valid_with_jinja'],Params((),kwargs={'__internal_jinja':ParamValue("validators_firefox.dns_over_https.custom_dns_url"),'__internal_type':ParamValue("boolean"),'__internal_multi':ParamValue(False),'__internal_files':ParamValue(['tutorial_tmp/structural/firefox/60-dns_over_https.yml']),'__internal_attribute':ParamValue("validators"),'__internal_variable':ParamValue("firefox.dns_over_https.custom_dns_url"),'description':ParamValue("must starts with 'https://' only"),'_.custom_dns_url':ParamSelfOption(whole=False)}))],allow_ip=False,allow_without_dot=True,properties=frozenset({"basic","mandatory",Calculation(func['jinja_to_property'],Params((ParamValue("disabled"),ParamValue("if \"_.provider\" is not \"Custom\"")),kwargs={'__internal_jinja':ParamValue("disabled_firefox.dns_over_https.custom_dns_url"),'__internal_type':ParamValue("boolean"),'__internal_multi':ParamValue(False),'__internal_files':ParamValue(['tutorial_tmp/structural/firefox/60-dns_over_https.yml']),'__internal_attribute':ParamValue("disabled"),'__internal_variable':ParamValue("firefox.dns_over_https.custom_dns_url"),'when':ParamValue(True),'inverse':ParamValue(False),'_.provider':ParamOption(option_21,notraisepropertyerror=True)}),help_function=func['jinja_to_property_help'])}),informations={'ymlfiles':['tutorial_tmp/structural/firefox/60-dns_over_https.yml'],'type':'web_address'})
optiondescription_19=OptionDescription(name="dns_over_https",doc="DNS over HTTPS",children=[option_20,option_21,option_22],properties=frozenset({"basic"}),informations={'ymlfiles':['tutorial_tmp/structural/firefox/60-dns_over_https.yml']})
option_25=StrOption(name="title",doc="Title or Description",multi=True,properties=frozenset({"standard"}),informations={'ymlfiles':['tutorial_tmp/structural/foxyproxy/00-foxyproxy.yml'],'type':'string'})