o
    6dV6                    @   s  d Z ddlmZ ddlmZ ddlmZ ddlm	Z	 ddlm
Z
 ddlmZ ddlmZ G d	d
 d
ejZeeZG dd dejZeeZG dd deZeeZG dd dejZeeZG dd deZeeZG dd dejZeeZG dd deZeeZG dd dejZeeZG dd dejZeeZ G dd dejZ!ee!Z"G dd dejZ#ee#Z$G dd  d ejZ%ee%Z&G d!d" d"ejZ'ee'Z(G d#d$ d$e	j)Z*ee*Z+G d%d& d&e	j,Z-ee-Z.G d'd( d(ejZ/ee/Z0G d)d* d*e/Z1ee1Z2G d+d, d,ejZ3ee3Z4G d-d. d.ejZ5ee5Z6G d/d0 d0ejZ7ee7Z8G d1d2 d2ejZ9ee9Z:G d3d4 d4e/Z;ee;Z<G d5d6 d6ejZ=ee=Z>G d7d8 d8ejZ?ee?Z@G d9d: d:ejZAeeAZBG d;d< d<e	j)ZCeeCZDG d=d> d>e	j,ZEeeEZFG d?d@ d@e/ZGeeGZHG dAdB dBejZIeeIZJG dCdD dDejZKeeKZLG dEdF dFejZMeeMZNG dGdH dHe/ZOeeOZPG dIdJ dJejZQeReQZSG dKdL dLeQZTeeTZUG dMdN dNejZVeeVZWG dOdP dPejZXeeXZYG dQdR dRejZZeeZZ[G dSdT dTejZ\ee\Z]G dUdV dVejZ^ee^Z_G dWdX dXejZ`ee`ZaG dYdZ dZejZbeebZcG d[d\ d\ejZdeedZeG d]d^ d^ejZfeefZgG d_d` d`ejZheehZiG dadb dbejZjeejZkG dcdd ddejZleelZmG dedf dfejZneenZoG dgdh dhejZpeepZqG didj djejZreerZsG dkdl dleQZteetZuG dmdn dnejZveevZwG dodp dpevZxeexZyG dqdr drejZzeezZ{G dsdt dteQZ|ee|Z}G dudv dvevZ~ee~ZG dwdx dxejZeeZG dydz dzejZeeZG d{d| d|ejZeeZG d}d~ d~ejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZee¡ZG dd de/ZeeġZG dd dejZeeơZG dd dejZeeȡZG dd dejZeeʡZG ddĄ dejZee̡ZG ddƄ dejZeeΡZG ddȄ dejZeReСZG ddʄ dejZeeҡZG dd̄ dejZeeԡZG dd΄ dejZee֡ZG ddЄ deփZeeءZG dd҄ dejZeeڡZG ddԄ dejZeeܡZG ddք dejZeeޡZG dd؄ dejZeeZG ddڄ deރZeeZG dd܄ dejZeeZG ddބ dejZeeZG dd dejZeeZG dd deރZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd deЃZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd deZeeZG dd deփZeeZG dd dejZ ee ZG dd de ZeeZG dd dejZeeZG dd de	j)ZeeZG dd  d e	j,ZeeZ	G dd de/Z
ee
ZG dd dejZeeZG dd dejZeeZG dd de	j)ZeeZG d	d
 d
e	j,ZeeZG dd de/ZeeZG dd de/ZeeZG dd dejZeeZG dd deZeeZG dd dejZeeZG dd dejZeeZG dd dejZ ee Z!G dd dejZ"ee"Z#G dd dejZ$ee$Z%G dd dejZ&ee&Z'G dd  d ejZ(ee(Z)G d!d" d"e	j)Z*ee*Z+G d#d$ d$e	j,Z,ee,Z-G d%d& d&ejZ.ee.Z/G d'd( d(ejZ0ee0Z1G d)d* d*ejZ2ee2Z3G d+d, d,ejZ4ee4Z5G d-d. d.ejZ6ee6Z7G d/d0 d0ejZ8ee8Z9G d1d2 d2ejZ:ee:Z;G d3d4 d4ejZ<ee<Z=G d5d6 d6ejZ>ee>Z?G d7d8 d8ejZ@ee@ZAG d9d: d:ejZBeeBZCG d;d< d<ejZDeeDZEG d=d> d>ejZFeeFZGG d?d@ d@ejZHeeHZIG dAdB dBejZJeeJZKG dCdD dDejZLeeLZMG dEdF dFejZNeeNZOG dGdH dHejZPeePZQG dIdJ dJejZReeRZSG dKdL dLejZTeeTZUG dMdN dNejZVeeVZWG dOdP dPejZXeeXZYG dQdR dRejZZeeZZ[G dSdT dTejZ\ee\Z]G dUdV dVejZ^ee^Z_G dWdX dXejZ`ee`ZaG dYdZ dZejZbeebZcG d[d\ d\ejZdeedZeG d]d^ d^ejZfeefZgG d_d` d`ejZheehZiG dadb dbejZjeejZkG dcdd ddeZleelZmG dedf dfejZneenZoG dgdh dhejZpeepZqG didj djejZreerZsG dkdl dlerZteetZuG dmdn dnejZveevZwG dodp dpejZxeexZyG dqdr drejZzeezZ{G dsdt dte	j)Z|ee|Z}G dudv dve	j,Z~ee~ZG dwdx dxejZeeZG dydz dzejZeeZG d{d| d|ejZeeZG d}d~ d~ejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd deЃZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZeאZe֐ZejdddZejddZejddZee ZejddZejddZejddZejddZejddZejdddZejddZejdddZe ZejddddZejddZejddZeej_eej_eddge_dejjfdejjfge_ee_e e_ejejde_ede_e e_dejie_ejej ede_eej_e¡ ejÐ_e¡ ejĐ_e¡ ejŐ_eejơejǐ_eg de_dejjfdejÐjfdejĐjfdejŐjfdejǐjfge_eeejɡejʐ_ejːedge_ejdejʐjfg e_ee_dejie_eje_͐dejie_ejej eej_eejΐ_e¡ ejϐ_ee
jСejѐ_e¡ ejҐ_eeejӡejԐ_e¡ ejՐ_eg de_dejjfdejΐjfdejϐjfdejѐjfdejҐjfdejԐjfdejՐjfge_eej֐_eSejא_eddge_dej֐jfdejאjfge_ee!j֐_eUe!jא_eddge!_de!j֐jfde!jאjfge!_ee#j_e¡ e#jϐ_eddge#_de#jjfde#jϐjfge#_ejȐedde%jؐ_e¡ e%jϐ_e¡ e%jِ_eg d¢e%_de%jؐjfde%jϐjfde%jِjfge%_e e'_e e'_e'je'jdŜe'_e'dƃe'_e'de'_e2e*_e(e*_e e*_e*je*je*jdǜe*_e*je	j)j e*de*_e2e-_e e-_e-je-jdȜe-_e-je	j,j e-de-_eg e/_g e/_ee4e1jސ_e/jːedge1_e/jde1jސjfg e1_e8e3_e6e3_e3je3jdʜe3_ee5_e e5_e5je5jde5_e5de5_e}e7j_edge7_de7jjfge7_ee9_de9jie9_e}e;j_e/jːedge;_e/jde;jjfg e;_ee=j_eee=j_eddge=_de=jjfde=jjfge=_ee>e?jސ_edge?_de?jސjfge?_e eA_e eA_eAjeAjd͜eA_eAd΃eA_eAdeA_eHeC_eBeC_e eC_eCjeCjeCjdǜeC_eCje	j)j eCdeC_eHeE_e eE_eEjeEjdȜeE_eEje	j,j eEdeE_eeLeGjސ_e/jːedgeG_e/jdeGjސjfg eG_eSeIj_edgeI_deIjjfgeI_eJeK_eNeK_eKjeKjdʜeK_eeM_eeM_e eM_e eM_e eM_eMjeMjeMjeMjeMjdϜeM_eMd΃eM_eMdƃeM_eMdeM_eSeOj_e/jːedgeO_e/jdeOjjfg eO_e eQj_ee eQj_ee eQj_ee
jeQj_ee eQj_eg dТeQ_eQjeQ_deQjjfdeQjjfdeQjjfdeQjjfdeQjjfgeQ_eQjeQ_eue}eUd֜eQ_etdeufe|de}feTdeUfieQ_deQ_eg eT_eQjeTjeT_g eT_eQjeTj eT_e eVj_e eVj_edېdgeV_deVjjfdeVjjfgeV_eeXj_eeeXj_eddgeX_deXjjfdeXjjfgeX_eeZ_e eZ_e eZ_eZjeZjeZjdޜeZ_eZd߃eZ_eZdeZ_ee\j_edge\_de\jjfge\_ee^_e e^_e e^_e e^_e^je^je^je^jde^_e^de^_e^dƃe^_e^de^_e}e`j_edge`_de`jjfge`_eebj_ee ebj_eddgeb_debjjfdebjjfgeb_eed_e ed_e ed_e ed_e ed_edjedjedjedjedjded_edded_edded_edded_ edded_ee efj_eee efj_eddgef_defjjfdefjjfgef_e ehj_e ehj_eeehj_ee ehj_eg deh_dehjjfdehjjfdehjjfdehjjfgeh_eiejj_euejj_eddgej_dejjjfdejjjfgej_e el_	e el_
e el_e el_e el_e el_e el_e el_e el_e el_e el_elj	elj
eljeljeljeljeljeljeljeljeljdel_eldel_eldel_eldel_eldel_eldel_eldel_eldel_eldel_eldel_eldel_eldel_eqenj_edgen_denjjfgen_e ep_eOep_e ep_epjepjepjdep_epdep_ epdep_ee¡ erj!_ee erj"_eej#erj$_ee
jСerj%_eg der_derj!jfderj"jfd erj$jfderj%jfger_eetj֐_e
jetjѐ_e
jetj&_eetj_e etj_eeϡetj'_eeQetj(_eeyetj)_e¡ etj*_eegetj+_eeejӡetjԐ_ee¡ etj,_eeetj-_eesetj._eg det_eQjetjet_detj֐jfdetjѐjfdetj&jfdetjjfdetjjfdetj'jfdetj(jfdetj)jfdetj*jfdetj+jfdetjԐjfd	etj,jfd
etj-jfdetj.jfget_eQjetj et_e¡ evj/_edgev_devj/jfgev_e
jexj_eej#exj0_evjːedԐdgex_evjdexjjfdexj0jfg ex_e ez_1e ez_2e ez_ezj1ezj2ezjdez_ezdez_3ezdez_4ezdez_ee|j֐_ee
je|j5_eee|j)_eeejӡe|jԐ_eg de|_eQje|je|_de|j֐jfde|j5jfde|j)jfde|jԐjfge|_eQje|j e|_ee
je~j_ee
je~j5_e¡ e~j6_e¡ e~j7_evjːeg de~_evjde~jjfde~j5jfde~j6jfde~j7jfg e~_eej_edge_dejjfge_ee_e e_ejejde_ede_eSej_e ej8_e
jej9_eg de_dejjfdej8jfdej9jfge_eȐeejؐ_edge_dejؐjfge_eeej:_edge_dej:jfge_eej_edge_dejjfge_ee_e e_;e e_e e_<e e_ejej;ejej<ejde_ede_=ed߃e_ede_>ede_euej_e ej?_edːdge_dejjfdej?jfge_eej@_ejAddd ejB_ed!d"ge_d!ej@jfd"ejBjfge_e ej?_edge_dej?jfge_eȐe[ejސ_edge_dejސjfge_e e_e e_ejejdŜe_edƃe_ede_eeejސ_edge_dejސjfge_euej_e ejC_edːd#ge_dejjfd#ejCjfge_ee_ߐe]e_e e_ejejejd$e_ede_eA ejD_eA ejE_ed%d&ge_d%ejDjfd&ejEjfge_e ejF_e¡ ejG_ed'd(ge_d'ejFjfd(ejGjfge_e e_He e_Ie e_Je e_ejHejIejJejd)e_ed*e_Ked+e_Led,e_Mede_eej_e¡ ejN_e¡ ejÐ_e¡ ejĐ_e¡ ejŐ_e¡ ejO_eejPdd-d ejQ_eeKejR_eejơejǐ_e¡ ejS_eg d.e_dejjfd/ejNjfdejÐjfdejĐjfdejŐjfd0ejOjfd1ejQjfd2ejRjfdejǐjfd3ejSjfg
e_eejT_ed4ge_d4ejTjfge_ee_e e_Ue e_ejejUejd5e_ed6e_Vede_ee_ejWe_Xe e_ejejXejd7e_ede_eejT_ed4ge_d4ejTjfge_eejT_ejd8d9d ejY_ed4d:ge_d4ejTjfd:ejYjfge_e e_Ue e_ejUejd;e_ed6e_Vede_e¡ ejZ_ee ej[_ed<d=ge_d<ejZjfd=ej[jfge_eeSejސ_eejT_e¡ ej\_eg d>e_dejސjfd4ejTjfd?ej\jfge_eej_eejΐ_ejdd@d ejQ_eg dAe_dejjfdejΐjfd1ejQjfge_ee_e e_ejejde_ede_e e_e e_]e e_ejej]ejdBe_ede_ede_ede_e¡ ej^_ee
jСej__eeuejސ_eg dCe_dDej^jfdEej_jfdejސjfge_eoej`_edFge_dFej`jfge_eej_edge_dejjfge_eeejސ_edge_dejސjfge_eeˡeĐjސ_e/jːedgeĐ_e/jdeĐjސjfg eĐ_eeƐ_e eƐ_e eƐ_e eƐ_ae eƐ_be eƐ_ceeƐ_de eƐ_ee eƐ_eƐjeƐjeƐjeƐjaeƐjbeƐjceƐjdeƐjeeƐjdG	eƐ_eƐd΃eƐ_eƐdƃeƐ_eƐdHeƐ_feƐdIeƐ_geƐdJeƐ_heƐdKeƐ_ieƐdeƐ_eSeȐj_eoeȐj`_edːdFgeȐ_deȐjjfdFeȐj`jfgeȐ_eeʐ_eeʐ_eʐjeʐjdʜeʐ_ee̐_je e̐_ke e̐_le e̐_me e̐_ne e̐_oe e̐_pe e̐_e̐jje̐jke̐jle̐jme̐jne̐joe̐jpe̐jdLe̐_e̐dMe̐_qe̐dNe̐_re̐dOe̐_se̐dPe̐_te̐dQe̐_ue̐dRe̐_ve̐de̐_e eΐ_weeΐ_xeΐjweΐjxdSeΐ_eΐdTeΐ_yeeWeАjz_eeeАj{_ee
jСeАj|_eg dUeА_eАjeА_dVeАjzjfdWeАj{jfdXeАj|jfgeА_eАjeА_eedYeА_edZefed[efieА_deА_eSeҐ_xe eҐ_eҐjxeҐjd\eҐ_eҐdeҐ_e eԐj}_eeeԐj֐_ee eԐj_eeԐj_eg d]eԐ_d^eԐj}jfdeԐj֐jfdeԐjjfdeԐjjfgeԐ_ejedd_e֐jސ_e¡ e֐jϐ_edɐdge֐_de֐jސjfde֐jϐjfge֐_e¡ eؐj~_e֐jːed`geؐ_e֐jd`eؐj~jfg eؐ_e eڐ_e eڐ_eڐjeڐjdaeڐ_eڐdbeڐ_eڐdeڐ_e eܐ_e eܐ_eܐjeܐjdaeܐ_eܐdbeܐ_eܐdeܐ_e eސ_e eސ_e eސ_e eސ_e eސ_eސjeސjeސjeސjeސjdceސ_eސddeސ_eސdeeސ_eސdfeސ_eސdgeސ_eސdeސ_eej_eej_eddhge_dejjfdhejjfge_e e_e e_e e_e e_ejejejejdie_ejeސj edje_edke_edle_edme_e ej}_e ej_eej_e ej_eg dne_d^ej}jfdoejjfdpejjfdejjfge_e e_e e_e e_e e_e e_ejejejejejdqe_edre_edse_edte_edue_ede_eej_eej_eej_ee ej_eg dve_dejjfdhejjfdwejjfdejjfge_ee_e e_e e_e e_ejejejejdxe_ejeސj edye_edze_ed{e_e ej_edge_dejjfge_ee_eMe_e e_ejejejd|e_ede_eej_eȐeYej_edd}ge_dejjfd}ejjfge_eg e_eАjeje_g e_eАjej e_eej_eeej_eddge_dejjfdejjfge_ee_e e_e e_e e_ejejejejd~e_ede_ede_ede_eeuej_eeաej_eddge_dejjfdejjfge_eej_eej_eddge_dejjfdejjfge_e¡ ej_e¡ ejϐ_e¡ ej~_ejːeg de_ejdejjfdejϐjfd`ej~jfg e_e¡ ej_e¡ ej~_e֐jːedd`ge_e֐jdejjfd`ej~jfg e_e͐e _ee _ee _e e _e e _e e _e e _e e _e e _e e _e e _ee e _eݐe _eېe _e e _e je je je je je je jڐe je je je jee je je je jde _e de _e de _e de _e dƃe _ېe de _e de _e de _e dKe _ie de _e de _e e_dΐejie_eje j ed΃e_ee_e e_ee e_e e_ejejeejejde_edKe_ied΃e_ede_ee_ܐee_ݐejܐejݐde_eje	j)j ee_e e_ejܐejdȜe_eje	j,j ede_eȐee
jސ_e/jːedge
_e/jdɐe
jސjfg e
_eSej_edge_dːejjfge_eSe_ߐee_e e_ejߐejejd$e_ede_ee_ܐdejie_eje	j)j ee_ܐdejie_eje	j,j eȐeejސ_e/jːedge_e/jdɐejސjfg e_eSej_e/jːedge_e/jdːejjfg e_eej_eej_eddge_dejjfdejjfge_e e_dejie_ejej ede_Ðeej_eej_eddge_dejjfdݐejjfge_e͐e_ee_e e_e e_e e_ejejejĐejejde_ede_Őede_ede_e e j8_ee j_eddge _de j8jfde jjfge _ee"_e e"_e e"_e e"_ke e"_e e"_e"je"jƐe"jǐe"jke"jڐe"jde"_e"de"_Ȑe"de"_ɐe"dMe"_qe"dƃe"_ېe"de"_eSe$j_edge$_dːe$jjfge$_ee&j_e e&j}_edd^ge&_de&jjfd^e&j}jfge&_ee(_e e(_e e(_e e(_ke e(_e(je(jʐe(jːe(jke(jde(_e(de(_̐e(de(_͐e(dMe(_qe(de(_eue*_ܐe)e*_ݐe*jܐe*jݐde*_e*je	j)j eue,_ܐde,jie,_e,je	j,j ee.j_ejdde.jΐ_ejdde.jϐ_ejddd e.jА_e=e.jΐ_eg de._de.jjfde.jΐjfde.jϐjfde.jАjfde.jΐjfge._e͐e0_ee e0_e e0_ee e0_e0je0jѐe0jee0jde0_e0dKe0_ie0de0_e7e2jҐ_eSe2j_eddge2_de2jҐjfdːe2jjfge2_e¡ e4jӐ_edge4_de4jӐjfge4_e e6_e e6_e e6_֐e6jԐe6jՐe6j֐de6_e6de6_אe6de6_e6de6_e e8_e e8_e e8_e e8_e e8_e8jԐe8jِe8jڐe8jېe8jde8_e8de8_אe8de8_ܐe8de8_ݐe8de8_ސe8de8_eӐe:j_ee9e:jҐ_eeee:jߐ_eg de:_dːe:jjfde:jҐjfde:jߐjfge:_e e<_e e<_e e<_e<jԐe<jڐe<jde<_e<de<_אe<de<_ݐe<de<_eee>j_ejddd e>jА_eeAe>j_e{e>j_e¡ e>j_eee e>j_eeeme>j_eej#e>j_eg de>_de>jjfde>jАjfde>jjfde>jjfde>jjfde>jjfde>jjfde>jjfge>_e e@_e e@_e e@_e@je@je@jde@_e@de@_e@de@_e@de@_eȐe3eBj_e¡ eBj_e eBjϐ_eg deB_deBjjfdeBjjfdeBjϐjfgeB_ejddeDjΐ_ee?eDj_ee5eDj_ee¡ eDjӐ_eg deD_deDjΐjfdeDjjfdeDjjfdeDjӐjfgeD_eeFjT_ed4geF_d4eFjTjfgeF_eȐe;eHj_e¡ eHj\_eeeHjT_eg deH_deHjjfd?eHj\jfd4eHjTjfgeH_eeJj}_ee eJj_ed^dgeJ_d^eJj}jfdeJjjfgeJ_e eLj}_ee eLj_ee eLj_eg dâeL_d^eLj}jfdeLjjfdeLjjfgeL_e
jАeNj%_ej#eNj_ee eNj_eg dĢeN_deNj%jfdŐeNjjfdƐeNjjfgeN_e ePj_edgeP_dǐePjjfgeP_e eR_e eR_e eR_e eR_eRjeRjeRjeRjdȜeR_eRdɃeR_eRdʃeR_eRd˃eR_eRdeR_e eT_e eT_e eT_eTjeTjeTjd̜eT_eTdɃeT_eTdʃeT_eTdeT_e͐eV_e eV_e eV_e eV_eVjeVjeVjeVjd͜eV_eVd΃eV_eVdσeV_eVdeV_eeX_e eX_eXjeXjdМeX_eXdeX_eeZj_e_eZj_eceZj_eaeZjΐ_eg dѢeZ_deZjjfdҐeZjjfdeZjjfdeZjΐjfgeZ_e͐e\_e e\_e e\_ e e\_e\je\je\j e\jdӜe\_e\de\_e\dԃe\_e\dՃe\_e e^_e e^_e^je^jd֜e^_e^d׃e^_e^d؃e^_e e`_e e`_	e e`_
e`je`j	e`j
dٜe`_e`dڃe`_e`dۃe`_e`d܃e`_e eb_e eb_e eb_e eb_e eb_e eb_e eb_e eb_e eb_ebjebjebjebjebjebjebjebjebjdݜ	eb_ebdރeb_ebd߃eb_ebdeb_ebdeb_ebdeb_ebdeb_ebdeb_ebdeb_ebdeb_eedj _e_edj_ecedj_eaedjΐ_eg ded_dedj jfdҐedjjfdedjjfdedjΐjfged_e͐ef_e ef_e ef_ e ef_e ef_!e ef_ke ef_efjefjefj efjefj!efjkefjdef_efdef_efdԃef_efdՃef_efdef_"efdMef_qefdef_eehj_edgeh_dehjjfgeh_eȐeiejjސ_edgej_dɐejjސjfgej_eeelj-_ejːed
gel_ejd
elj-jfg el_een_ej#en_e en_$e en_%e en_enjenj͐enj$enj%enjden_enden_&enden_'enden_ewepjT_e¡ epj(_eeepj-_eg dep_d4epjTjfdepj(jfd
epj-jfgep_e er_keer_)e er_*e er_+e er_e er_,e er_-e er_$e er_erjkerj)erj*erj+erjerj,erj-erj$erjd	er_erdMer_qerder_.erder_/erder_erder_0erder_1erder_&erder_e et_%detj%iet_etjerj etdet_'e evj2_e evj3_eddgev_devj2jfdevj3jfgev_ewexjT_eexj4_eeexj-_eg dex_d4exjTjfdexj4jfd
exj-jfgex_ejȐeyddezjސ_edgez_dɐezjސjfgez_ee|_ܐde|jie|_e|je	j)j ee~_e e~_e~jܐe~jdȜe~_e~je	j,j e~de~_eȐeejސ_edge_dɐejސjfge_eue_ߐee_ejߐejdʜe_ese_5ee_ej#e_e e_6e e_e e_7e e_8e e_9e e_$e e_%e e_ej5ejej͐ej6ejej7ej8ej9ej$ej%ejde_ede_:ed΃e_ede_;ede_<ede_=ede_&ede_'ede_e ej>_edge_dej>jfge_e¡ ej(_eeej?_eeej-_eg de_dej(jfd ej?jfd
ej-jfge_eeej?_ejddd ej@_ed dge_d ej?jfdej@jfge_ee ejA_edge_dejAjfge_e e_7e e_Be e_$e e_%e e_ej7ejBej$ej%ejde_ede_;ede_Cede_&ede_'ede_e ej2_edge_dej2jfge_e e_De e_Ee e_ejDejEejde_ede_Fede_Gede_eejH_e ejI_edd	ge_dejHjfd	ejIjfge_eej_edge_dejjfge_ee ejB_ed"ge_eАjːeje_d"ejBjfge_eАjej e_e e_Je e_e e_Ke e_ejJejejKejd
e_ede_Lede_ede_Mede_ee_jee_Ne e_ae e_Oe e_Pe e_Qe e_Re e_e e_ejjejNejaejOejPejQejRejejd	e_edHe_fede_Sede_Tede_Uede_Ved΃e_ede_e e_We e_ee_ejWejejde_ede_Xedse_dejÐ_dejĐ_dejŐ_ejXejΐ_dejϐ_dejҐ_dejՐ_de#jϐ_de%jϐ_de%jِ_detj*_de~j6_de~j7_dejB_dejN_dejÐ_dejĐ_dejŐ_dejO_dejS_d8ejY_ejejΐ_dejQ_de֐jϐ_deؐj~_dej_dejϐ_dej~_dej_dej~_de.jϐ_d@e.jА_e<jאe.jΐ_dڐe4jӐ_d@e>jА_ezj3e>j_dڐe>j_e^jeZj_ebjeZj_e`jeZjΐ_e^jedj_ebjedj_e`jedjΐ_dڐepj(_dڐej(_eYdddeeSeddddZZeYdddemeueoddddZ[eYdddeeeddddZ\eYdddeeSeddddZ]eYdddڐeee ddddZ^eYdddee	e ddddZ_eYd dde	j`ee	jaddddZbeYd dde	j`ee	jaddddZceYd!ddeeeddddZdeYd"ddڐe!e%e#ddddZeeYd#dde$e<e:ddddZfeYd#dde$e}e:ddddZgeYd$dde&e.e ddddZheYd%dde	j`e+e	jaddddZieYd&dde>ePeNddddZjeYd&dde>eSeNddddZkeYd'dde@eFe ddddZleYd(dde	j`eDe	jaddddZmeYd)ddeYeue[ddd)dZneYd*dde]eae_ddd)dZoeYd+ddecekeeddd)dZpeYd,ddeeeǐddddZqeYd-ddeeSeddddZreYd.ddeeueddd)dZseYd/ddeeeddddZteYd0ddeee ddddZueYd1ddڐe[eue]ddd)dZveYd1ddڐeeeegd2dd)dZweYd3ddeeeddddZxeYd4ddeeed2dddZyeYd5ddeeed2dddZzeYd6ddeeeddddZ{eYd7ddeeed8d9ddZ|eYd:ddeeeddddZ}eYd;ddeeeǐddddZ~eYd<ddeeeddddZeYd<ddeeSeddddZeYd=ddeِee ddddZeYd=ddee	e ddddZeYd>dde	j`ee	jaddddZeYd>dde	j`ee	jaddddZeYd?ddeeeddddZeYd@ddeeeddddZeYdAdde>e eNddddZeYdBddeje ejddddZeYdCddeje ej#ddddZeYdDddeje ejddddZeYdEddejejejWddddZeYdFdde ejejWddddZeYdGddeje ejddddZeYdHddڐeeueddddZeYdIddڐe'e-e)ddddZeYdJdde	j`e+e	jaddddZeYdKdde/eCe1ddddZeYdKddڐeEeIe1ddddZeYdLddڐeGeIe1ddddZeYdMddee eddddZeYdNddeeeddddZeYdOddڐee eddddZeYdPddڐekeeǐddddZeYdddڐemeueoddddZeYdQddڐeqe euddddZeYdQddewe euddddZeYdRddڐeyeueddddZeYdSdde{ee ddddZeYdSddڐe{ee ddddZeYdTdde	j`e}e	jaddddZeYdUddڐeeeddddZeYdVddڐeee ddddZi deZde[dWe\de]dXe^de_dYebd ecd!edd"eedZefd#egd$ehd%eid[ejd&ekd'eli d(emd)end*eod+epd,eqd-erd.esd/etd0eud1evd\ewd3exd4eyd5ezd6e{d7e|d:e}i d;e~d]ed<ed^ed=ed_ed>ed?ed@edAedBedCedDedEedFedGedHei dIedJedKed`edaedMedNedOedPededbedQedRedSedcedTedUedVeiZddS (e  zM
This namespace contains endpoints and data types for basic file operations.
    )unicode_literals)
stone_base)stone_validators)async_)common)file_properties)users_commonc                       N   e Zd ZdZddgZdZ		dddZedZ	ed	Z
 fd
dZ  ZS )	AddTagArgz
    :ivar files.AddTagArg.path: Path to the item to be tagged.
    :ivar files.AddTagArg.tag_text: The value of the tag to add. Will be
        automatically converted to lowercase letters.
    _path_value_tag_text_valueTNc                 C   4   t j| _t j| _|d ur|| _|d ur|| _d S d S NbbNOT_SETr   r   pathtag_textselfr   r    r   dC:\Users\jesus\OneDrive\Desktop\erpjis_fastapi\backend\jisbackend\Lib\site-packages\dropbox/files.py__init__!      
zAddTagArg.__init__r   r   c                       t t| ||| d S r   )superr
   _process_custom_annotationsr   Zannotation_typeZ
field_path	processor	__class__r   r   r   1      z%AddTagArg._process_custom_annotationsNN__name__
__module____qualname____doc__	__slots___has_required_fieldsr   r   	Attributer   r   r   __classcell__r   r   r   r   r
          


r
   c                       L   e Zd ZdZdZdZedd Zdd Zdd	 Z	d
d Z
 fddZ  ZS )BaseTagError
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.
    otherNc                 C   
   | d|S )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param LookupError val:
        :rtype: BaseTagError
        r   r   clsvalr   r   r   r   A      
	zBaseTagError.pathc                 C   
   | j dkS zK
        Check if the union tag is ``path``.

        :rtype: bool
        r   Z_tagr   r   r   r   is_pathL      
zBaseTagError.is_pathc                 C   r6   zL
        Check if the union tag is ``other``.

        :rtype: bool
        r0   r8   r9   r   r   r   is_otherT   r;   zBaseTagError.is_otherc                 C      |   std| jS zY
        Only call this if :meth:`is_path` is true.

        :rtype: LookupError
        tag 'path' not setr:   AttributeError_valuer9   r   r   r   get_path\      zBaseTagError.get_pathc                    r   r   )r   r.   r   r   r   r   r   r   f   r!   z(BaseTagError._process_custom_annotationsr$   r%   r&   r'   
_catch_allr0   classmethodr   r:   r=   rD   r   r+   r   r   r   r   r.   6       


r.   c                       ,   e Zd ZdZdZdd Z fddZ  ZS )AddTagErrora4  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.AddTagError.too_many_tags: The item already has the maximum
        supported number of tags.
    Nc                 C   r6   )zT
        Check if the union tag is ``too_many_tags``.

        :rtype: bool
        too_many_tagsr8   r9   r   r   r   is_too_many_tagsx   r;   zAddTagError.is_too_many_tagsc                    r   r   )r   rK   r   r   r   r   r   r      r!   z'AddTagError._process_custom_annotations)r$   r%   r&   r'   rL   rM   r   r+   r   r   r   r   rK   k   
    
rK   c                       sx   e Zd ZdZg dZdZ					dddZedZ	edZ
ed	Zed
ZejddddZ fddZ  ZS )GetMetadataArgaN  
    :ivar files.GetMetadataArg.path: The path of a file or folder on Dropbox.
    :ivar files.GetMetadataArg.include_media_info: If true,
        ``FileMetadata.media_info`` is set for photo and video.
    :ivar files.GetMetadataArg.include_deleted: If true,
        :class:`DeletedMetadata` will be returned for deleted file or folder,
        otherwise ``LookupError.not_found`` will be returned.
    :ivar files.GetMetadataArg.include_has_explicit_shared_members: If true, the
        results will include a flag for each file indicating whether or not
        that file has any explicit members.
    :ivar files.GetMetadataArg.include_property_groups: If set to a valid list
        of template IDs, ``FileMetadata.property_groups`` is set if there exists
        property data associated with the file and each of the listed templates.
    )r   _include_media_info_value_include_deleted_value*_include_has_explicit_shared_members_value_include_property_groups_valueTNc                 C   v   t j| _t j| _t j| _t j| _t j| _|d ur|| _|d ur"|| _|d ur)|| _	|d ur0|| _
|d ur9|| _d S d S r   )r   r   r   rP   rQ   rR   rS   r   include_media_infoinclude_deleted#include_has_explicit_shared_membersinclude_property_groups)r   r   rU   rV   rW   rX   r   r   r   r          
zGetMetadataArg.__init__r   rU   rV   rW   rX   nullableuser_definedc                    r   r   )r   rO   r   r   r   r   r   r      r!   z*GetMetadataArg._process_custom_annotationsNNNNN)r$   r%   r&   r'   r(   r)   r   r   r*   r   rU   rV   rW   rX   r   r+   r   r   r   r   rO      s     




rO   c                       sR   e Zd ZdZdgZdZ						d fdd	ZejdddZ	 fd	d
Z
  ZS )AlphaGetMetadataArgz
    :ivar files.AlphaGetMetadataArg.include_property_templates: If set to a
        valid list of template IDs, ``FileMetadata.property_groups`` is set for
        files with custom properties.
    !_include_property_templates_valueTNc                    s6   t t| ||||| tj| _|d ur|| _d S d S r   )r   r^   r   r   r   r_   include_property_templates)r   r   rU   rV   rW   rX   r`   r   r   r   r      s   
zAlphaGetMetadataArg.__init__r`   r[   c                    r   r   )r   r^   r   r   r   r   r   r      r!   z/AlphaGetMetadataArg._process_custom_annotations)NNNNNN)r$   r%   r&   r'   r(   r)   r   r   r*   r`   r   r+   r   r   r   r   r^      s    r^   c                       @   e Zd ZdZdZedd Zdd Zdd Z fd	d
Z	  Z
S )GetMetadataErrorr/   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param LookupError val:
        :rtype: GetMetadataError
        r   r   r2   r   r   r   r      r5   zGetMetadataError.pathc                 C   r6   r7   r8   r9   r   r   r   r:     r;   zGetMetadataError.is_pathc                 C   r>   r?   rA   r9   r   r   r   rD   
  rE   zGetMetadataError.get_pathc                    r   r   )r   rc   r   r   r   r   r   r     r!   z,GetMetadataError._process_custom_annotationsr$   r%   r&   r'   rG   rH   r   r:   rD   r   r+   r   r   r   r   rc          


rc   c                       <   e Zd ZdZedd Zdd Zdd Z fdd	Z  Z	S )
AlphaGetMetadataErrorr/   c                 C   r1   )z
        Create an instance of this class set to the ``properties_error`` tag
        with value ``val``.

        :param file_properties.LookUpPropertiesError val:
        :rtype: AlphaGetMetadataError
        properties_errorr   r2   r   r   r   rh      r5   z&AlphaGetMetadataError.properties_errorc                 C   r6   zW
        Check if the union tag is ``properties_error``.

        :rtype: bool
        rh   r8   r9   r   r   r   is_properties_error+  r;   z)AlphaGetMetadataError.is_properties_errorc                 C   r>   )z
        Only call this if :meth:`is_properties_error` is true.

        :rtype: file_properties.LookUpPropertiesError
        tag 'properties_error' not setrj   rB   rC   r9   r   r   r   get_properties_error3  rE   z*AlphaGetMetadataError.get_properties_errorc                    r   r   )r   rg   r   r   r   r   r   r   =  r!   z1AlphaGetMetadataError._process_custom_annotations)
r$   r%   r&   r'   rH   rh   rj   rm   r   r+   r   r   r   r   rg     s    


rg   c                       s   e Zd ZdZg dZdZ							dddZedZ	ejddd	Z
ed
ZejdddZedZejdddZedZ fddZ  ZS )
CommitInfoa  
    :ivar files.CommitInfo.path: Path in the user's Dropbox to save the file.
    :ivar files.CommitInfo.mode: Selects what to do if the file already exists.
    :ivar files.CommitInfo.autorename: If there's a conflict, as determined by
        ``mode``, have the Dropbox server try to autorename the file to avoid
        conflict.
    :ivar files.CommitInfo.client_modified: The value to store as the
        ``client_modified`` timestamp. Dropbox automatically records the time at
        which the file was written to the Dropbox servers. It can also record an
        additional timestamp, provided by Dropbox desktop clients, mobile
        clients, and API apps of when the file was actually created or modified.
    :ivar files.CommitInfo.mute: Normally, users are made aware of any file
        modifications in their Dropbox account via notifications in the client
        software. If ``True``, this tells the clients that this modification
        shouldn't result in a user notification.
    :ivar files.CommitInfo.property_groups: List of custom properties to add to
        file.
    :ivar files.CommitInfo.strict_conflict: Be more strict about how each
        :class:`WriteMode` detects conflict. For example, always return a
        conflict error when ``mode`` = ``WriteMode.update`` and the given "rev"
        doesn't match the existing file's "rev", even if the existing file has
        been deleted. This also forces a conflict even when the target path
        refers to a file with identical contents.
    )r   _mode_value_autorename_value_client_modified_value_mute_value_property_groups_value_strict_conflict_valueTNc                 C   s   t j| _t j| _t j| _t j| _t j| _t j| _t j| _|d ur#|| _	|d ur*|| _
|d ur1|| _|d ur8|| _|d ur?|| _|d urF|| _|d urO|| _d S d S r   )r   r   r   ro   rp   rq   rr   rs   rt   r   mode
autorenameclient_modifiedmuteproperty_groupsstrict_conflict)r   r   ru   rv   rw   rx   ry   rz   r   r   r   r   h  s,   
zCommitInfo.__init__r   ru   r\   rv   rw   ra   rx   ry   rz   c                    r   r   )r   rn   r   r   r   r   r   r     r!   z&CommitInfo._process_custom_annotations)NNNNNNN)r$   r%   r&   r'   r(   r)   r   r   r*   r   ru   rv   rw   rx   ry   rz   r   r+   r   r   r   r   rn   B  s(    





rn   c                       R   e Zd ZdZddgZdZ		dddZedZ	ejd	dd
Z
 fddZ  ZS )ContentSyncSettingz
    :ivar files.ContentSyncSetting.id: Id of the item this setting is applied
        to.
    :ivar files.ContentSyncSetting.sync_setting: Setting for this item.
    	_id_value_sync_setting_valueTNc                 C   r   r   r   r   r~   r   idsync_settingr   r   r   r   r   r   r     r   zContentSyncSetting.__init__r   r   r{   c                    r   r   )r   r}   r   r   r   r   r   r     r!   z.ContentSyncSetting._process_custom_annotationsr"   r$   r%   r&   r'   r(   r)   r   r   r*   r   r   r   r+   r   r   r   r   r}         

r}   c                       r|   )ContentSyncSettingArgz
    :ivar files.ContentSyncSettingArg.id: Id of the item this setting is applied
        to.
    :ivar files.ContentSyncSettingArg.sync_setting: Setting for this item.
    r~   r   TNc                 C   r   r   r   r   r   r   r   r     r   zContentSyncSettingArg.__init__r   r   r{   c                    r   r   )r   r   r   r   r   r   r   r     r!   z1ContentSyncSettingArg._process_custom_annotationsr"   r   r   r   r   r   r     r   r   c                       r	   )CreateFolderArgz
    :ivar files.CreateFolderArg.path: Path in the user's Dropbox to create.
    :ivar files.CreateFolderArg.autorename: If there's a conflict, have the
        Dropbox server try to autorename the folder to avoid the conflict.
    r   rp   TNc                 C   r   r   )r   r   r   rp   r   rv   )r   r   rv   r   r   r   r     r   zCreateFolderArg.__init__r   rv   c                    r   r   )r   r   r   r   r   r   r   r     r!   z+CreateFolderArg._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r   rv   r   r+   r   r   r   r   r     r,   r   c                       Z   e Zd ZdZg dZdZ			dddZedZ	edZ
ed	Z fd
dZ  ZS )CreateFolderBatchArga  
    :ivar files.CreateFolderBatchArg.paths: List of paths to be created in the
        user's Dropbox. Duplicate path arguments in the batch are considered
        only once.
    :ivar files.CreateFolderBatchArg.autorename: If there's a conflict, have the
        Dropbox server try to autorename the folder to avoid the conflict.
    :ivar files.CreateFolderBatchArg.force_async: Whether to force the create to
        happen asynchronously.
    )_paths_valuerp   _force_async_valueTNc                 C   J   t j| _t j| _t j| _|d ur|| _|d ur|| _|d ur#|| _d S d S r   )r   r   r   rp   r   pathsrv   force_async)r   r   rv   r   r   r   r   r        
zCreateFolderBatchArg.__init__r   rv   r   c                    r   r   )r   r   r   r   r   r   r   r   3  r!   z0CreateFolderBatchArg._process_custom_annotationsNNN)r$   r%   r&   r'   r(   r)   r   r   r*   r   rv   r   r   r+   r   r   r   r   r   	  s    




r   c                       <   e Zd ZdZdZdZdZdd Zdd Z fdd	Z	  Z
S )
CreateFolderBatchErrora<  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.CreateFolderBatchError.too_many_files: The operation would
        involve too many files or folders.
    r0   Nc                 C   r6   zU
        Check if the union tag is ``too_many_files``.

        :rtype: bool
        too_many_filesr8   r9   r   r   r   is_too_many_filesH  r;   z(CreateFolderBatchError.is_too_many_filesc                 C   r6   r<   r8   r9   r   r   r   r=   P  r;   zCreateFolderBatchError.is_otherc                    r   r   )r   r   r   r   r   r   r   r   X  r!   z2CreateFolderBatchError._process_custom_annotationsr$   r%   r&   r'   rG   r   r0   r   r=   r   r+   r   r   r   r   r   8      	r   c                       h   e Zd ZdZdZdZedd Zedd Zdd	 Z	d
d Z
dd Zdd Zdd Z fddZ  ZS )CreateFolderBatchJobStatusa  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar CreateFolderBatchResult CreateFolderBatchJobStatus.complete: The batch
        create folder has finished.
    :ivar CreateFolderBatchError CreateFolderBatchJobStatus.failed: The batch
        create folder has failed.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param CreateFolderBatchResult val:
        :rtype: CreateFolderBatchJobStatus
        completer   r2   r   r   r   r   m  r5   z#CreateFolderBatchJobStatus.completec                 C   r1   )z
        Create an instance of this class set to the ``failed`` tag with value
        ``val``.

        :param CreateFolderBatchError val:
        :rtype: CreateFolderBatchJobStatus
        failedr   r2   r   r   r   r   x  r5   z!CreateFolderBatchJobStatus.failedc                 C   r6   zO
        Check if the union tag is ``complete``.

        :rtype: bool
        r   r8   r9   r   r   r   is_complete  r;   z&CreateFolderBatchJobStatus.is_completec                 C   r6   zM
        Check if the union tag is ``failed``.

        :rtype: bool
        r   r8   r9   r   r   r   	is_failed  r;   z$CreateFolderBatchJobStatus.is_failedc                 C   r6   r<   r8   r9   r   r   r   r=     r;   z#CreateFolderBatchJobStatus.is_otherc                 C   r>   )z
        The batch create folder has finished.

        Only call this if :meth:`is_complete` is true.

        :rtype: CreateFolderBatchResult
        tag 'complete' not setr   rB   rC   r9   r   r   r   get_complete     z'CreateFolderBatchJobStatus.get_completec                 C   r>   )z
        The batch create folder has failed.

        Only call this if :meth:`is_failed` is true.

        :rtype: CreateFolderBatchError
        tag 'failed' not setr   rB   rC   r9   r   r   r   
get_failed  r   z%CreateFolderBatchJobStatus.get_failedc                    r   r   )r   r   r   r   r   r   r   r     r!   z6CreateFolderBatchJobStatus._process_custom_annotationsr$   r%   r&   r'   rG   r0   rH   r   r   r   r   r=   r   r   r   r+   r   r   r   r   r   ]      



r   c                       r-   )CreateFolderBatchLaunchal  
    Result returned by
    :meth:`dropbox.dropbox_client.Dropbox.files_create_folder_batch` that may
    either launch an asynchronous job or complete synchronously.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param CreateFolderBatchResult val:
        :rtype: CreateFolderBatchLaunch
        r   r   r2   r   r   r   r     r5   z CreateFolderBatchLaunch.completec                 C   r6   r   r8   r9   r   r   r   r     r;   z#CreateFolderBatchLaunch.is_completec                 C   r6   r<   r8   r9   r   r   r   r=     r;   z CreateFolderBatchLaunch.is_otherc                 C   r>   )zi
        Only call this if :meth:`is_complete` is true.

        :rtype: CreateFolderBatchResult
        r   r   r9   r   r   r   r     rE   z$CreateFolderBatchLaunch.get_completec                    r   r   )r   r   r   r   r   r   r   r     r!   z3CreateFolderBatchLaunch._process_custom_annotationsr$   r%   r&   r'   rG   r0   rH   r   r   r=   r   r   r+   r   r   r   r   r         



r   c                       s,   e Zd Zg ZdZdd Z fddZ  ZS )FileOpsResultFc                 C   s   d S r   r   r9   r   r   r   r     s   zFileOpsResult.__init__c                    r   r   )r   r   r   r   r   r   r   r     r!   z)FileOpsResult._process_custom_annotations)r$   r%   r&   r(   r)   r   r   r+   r   r   r   r   r     s
    r   c                       D   e Zd ZdZdgZdZ	d
 fdd	ZedZ	 fdd	Z
  ZS )CreateFolderBatchResultz
    :ivar files.CreateFolderBatchResult.entries: Each entry in
        ``CreateFolderBatchArg.paths`` will appear at the same position inside
        ``CreateFolderBatchResult.entries``.
    _entries_valueTNc                    ,   t t|   tj| _|d ur|| _d S d S r   )r   r   r   r   r   r   entriesr   r   r   r   r   r     
   
z CreateFolderBatchResult.__init__r   c                    r   r   )r   r   r   r   r   r   r   r     r!   z3CreateFolderBatchResult._process_custom_annotationsr   r$   r%   r&   r'   r(   r)   r   r   r*   r   r   r+   r   r   r   r   r          
r   c                       \   e Zd ZdZdZedd Zedd Zdd Zd	d
 Z	dd Z
dd Z fddZ  ZS )CreateFolderBatchResultEntryr/   Nc                 C   r1   )z
        Create an instance of this class set to the ``success`` tag with value
        ``val``.

        :param CreateFolderEntryResult val:
        :rtype: CreateFolderBatchResultEntry
        successr   r2   r   r   r   r   %  r5   z$CreateFolderBatchResultEntry.successc                 C   r1   )z
        Create an instance of this class set to the ``failure`` tag with value
        ``val``.

        :param CreateFolderEntryError val:
        :rtype: CreateFolderBatchResultEntry
        failurer   r2   r   r   r   r   0  r5   z$CreateFolderBatchResultEntry.failurec                 C   r6   zN
        Check if the union tag is ``success``.

        :rtype: bool
        r   r8   r9   r   r   r   
is_success;  r;   z'CreateFolderBatchResultEntry.is_successc                 C   r6   zN
        Check if the union tag is ``failure``.

        :rtype: bool
        r   r8   r9   r   r   r   
is_failureC  r;   z'CreateFolderBatchResultEntry.is_failurec                 C   r>   )zh
        Only call this if :meth:`is_success` is true.

        :rtype: CreateFolderEntryResult
        tag 'success' not setr   rB   rC   r9   r   r   r   get_successK  rE   z(CreateFolderBatchResultEntry.get_successc                 C   r>   )zg
        Only call this if :meth:`is_failure` is true.

        :rtype: CreateFolderEntryError
        tag 'failure' not setr   rB   rC   r9   r   r   r   get_failureU  rE   z(CreateFolderBatchResultEntry.get_failurec                    r   r   )r   r   r   r   r   r   r   r   _  r!   z8CreateFolderBatchResultEntry._process_custom_annotationsr$   r%   r&   r'   rG   rH   r   r   r   r   r   r   r   r+   r   r   r   r   r         





r   c                       r-   )CreateFolderEntryErrorr/   r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param WriteError val:
        :rtype: CreateFolderEntryError
        r   r   r2   r   r   r   r   o  r5   zCreateFolderEntryError.pathc                 C   r6   r7   r8   r9   r   r   r   r:   z  r;   zCreateFolderEntryError.is_pathc                 C   r6   r<   r8   r9   r   r   r   r=     r;   zCreateFolderEntryError.is_otherc                 C   r>   zX
        Only call this if :meth:`is_path` is true.

        :rtype: WriteError
        r@   rA   r9   r   r   r   rD     rE   zCreateFolderEntryError.get_pathc                    r   r   )r   r   r   r   r   r   r   r     r!   z2CreateFolderEntryError._process_custom_annotationsrF   r   r   r   r   r   d  rI   r   c                       D   e Zd ZdZdgZdZ	dddZejdddZ	 fd	d
Z
  ZS )CreateFolderEntryResultz_
    :ivar files.CreateFolderEntryResult.metadata: Metadata of the created
        folder.
    _metadata_valueTNc                 C      t j| _|d ur|| _d S d S r   r   r   r   metadatar   r   r   r   r   r        
z CreateFolderEntryResult.__init__r   r{   c                    r   r   )r   r   r   r   r   r   r   r     r!   z3CreateFolderEntryResult._process_custom_annotationsr   r$   r%   r&   r'   r(   r)   r   r   r*   r   r   r+   r   r   r   r   r         
r   c                       rb   )CreateFolderErrorr/   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param WriteError val:
        :rtype: CreateFolderError
        r   r   r2   r   r   r   r     r5   zCreateFolderError.pathc                 C   r6   r7   r8   r9   r   r   r   r:     r;   zCreateFolderError.is_pathc                 C   r>   r   rA   r9   r   r   r   rD     rE   zCreateFolderError.get_pathc                    r   r   )r   r   r   r   r   r   r   r     r!   z-CreateFolderError._process_custom_annotationsrd   r   r   r   r   r     re   r   c                       H   e Zd ZdZdgZdZ	d fdd	ZejdddZ	 fd	d
Z
  ZS )CreateFolderResultzR
    :ivar files.CreateFolderResult.metadata: Metadata of the created folder.
    r   TNc                    r   r   )r   r   r   r   r   r   r   r   r   r   r   r     r   zCreateFolderResult.__init__r   r{   c                    r   r   )r   r   r   r   r   r   r   r     r!   z.CreateFolderResult._process_custom_annotationsr   r   r   r   r   r   r         r   c                       r|   )	DeleteArgz
    :ivar files.DeleteArg.path: Path in the user's Dropbox to delete.
    :ivar files.DeleteArg.parent_rev: Perform delete if given "rev" matches the
        existing file's latest "rev". This field does not support deleting a
        folder.
    r   _parent_rev_valueTNc                 C   r   r   )r   r   r   r   r   
parent_rev)r   r   r   r   r   r   r     r   zDeleteArg.__init__r   r   ra   c                    r   r   )r   r   r   r   r   r   r   r     r!   z%DeleteArg._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r   r   r   r+   r   r   r   r   r         

r   c                       <   e Zd ZdgZdZ	d	ddZedZ fddZ	  Z
S )
DeleteBatchArgr   TNc                 C   r   r   r   r   r   r   r   r   r   r   r   $  r   zDeleteBatchArg.__init__r   c                    r   r   )r   r   r   r   r   r   r   r   -  r!   z*DeleteBatchArg._process_custom_annotationsr   r$   r%   r&   r(   r)   r   r   r*   r   r   r+   r   r   r   r   r         

r   c                       r   )
DeleteBatchErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.DeleteBatchError.too_many_write_operations: Use
        ``DeleteError.too_many_write_operations``.
        :meth:`dropbox.dropbox_client.Dropbox.files_delete_batch` now provides
        smaller granularity about which entry has failed because of this.
    r0   Nc                 C   r6   z`
        Check if the union tag is ``too_many_write_operations``.

        :rtype: bool
        too_many_write_operationsr8   r9   r   r   r   is_too_many_write_operationsD  r;   z-DeleteBatchError.is_too_many_write_operationsc                 C   r6   r<   r8   r9   r   r   r   r=   L  r;   zDeleteBatchError.is_otherc                    r   r   )r   r   r   r   r   r   r   r   T  r!   z,DeleteBatchError._process_custom_annotations)r$   r%   r&   r'   rG   r   r0   r   r=   r   r+   r   r   r   r   r   2      r   c                       r   )DeleteBatchJobStatusa  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar DeleteBatchResult DeleteBatchJobStatus.complete: The batch delete has
        finished.
    :ivar DeleteBatchError DeleteBatchJobStatus.failed: The batch delete has
        failed.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param DeleteBatchResult val:
        :rtype: DeleteBatchJobStatus
        r   r   r2   r   r   r   r   i  r5   zDeleteBatchJobStatus.completec                 C   r1   )z
        Create an instance of this class set to the ``failed`` tag with value
        ``val``.

        :param DeleteBatchError val:
        :rtype: DeleteBatchJobStatus
        r   r   r2   r   r   r   r   t  r5   zDeleteBatchJobStatus.failedc                 C   r6   r   r8   r9   r   r   r   r     r;   z DeleteBatchJobStatus.is_completec                 C   r6   r   r8   r9   r   r   r   r     r;   zDeleteBatchJobStatus.is_failedc                 C   r6   r<   r8   r9   r   r   r   r=     r;   zDeleteBatchJobStatus.is_otherc                 C   r>   )z
        The batch delete has finished.

        Only call this if :meth:`is_complete` is true.

        :rtype: DeleteBatchResult
        r   r   r9   r   r   r   r     r   z!DeleteBatchJobStatus.get_completec                 C   r>   )z
        The batch delete has failed.

        Only call this if :meth:`is_failed` is true.

        :rtype: DeleteBatchError
        r   r   r9   r   r   r   r     r   zDeleteBatchJobStatus.get_failedc                    r   r   )r   r   r   r   r   r   r   r     r!   z0DeleteBatchJobStatus._process_custom_annotationsr   r   r   r   r   r   Y  r   r   c                       r-   )DeleteBatchLaunchaa  
    Result returned by :meth:`dropbox.dropbox_client.Dropbox.files_delete_batch`
    that may either launch an asynchronous job or complete synchronously.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param DeleteBatchResult val:
        :rtype: DeleteBatchLaunch
        r   r   r2   r   r   r   r     r5   zDeleteBatchLaunch.completec                 C   r6   r   r8   r9   r   r   r   r     r;   zDeleteBatchLaunch.is_completec                 C   r6   r<   r8   r9   r   r   r   r=     r;   zDeleteBatchLaunch.is_otherc                 C   r>   )zc
        Only call this if :meth:`is_complete` is true.

        :rtype: DeleteBatchResult
        r   r   r9   r   r   r   r     rE   zDeleteBatchLaunch.get_completec                    r   r   )r   r   r   r   r   r   r   r     r!   z-DeleteBatchLaunch._process_custom_annotationsr   r   r   r   r   r     s    	


r   c                       r   )DeleteBatchResultz
    :ivar files.DeleteBatchResult.entries: Each entry in
        ``DeleteBatchArg.entries`` will appear at the same position inside
        ``DeleteBatchResult.entries``.
    r   TNc                    r   r   )r   r   r   r   r   r   r   r   r   r   r   r     r   zDeleteBatchResult.__init__r   c                    r   r   )r   r   r   r   r   r   r   r     r!   z-DeleteBatchResult._process_custom_annotationsr   r   r   r   r   r   r     r   r   c                       r   )DeleteBatchResultDatazU
    :ivar files.DeleteBatchResultData.metadata: Metadata of the deleted object.
    r   TNc                 C   r   r   r   r   r   r   r   r     r   zDeleteBatchResultData.__init__r   r{   c                    r   r   )r   r   r   r   r   r   r   r     r!   z1DeleteBatchResultData._process_custom_annotationsr   r   r   r   r   r   r         
r   c                       r   )DeleteBatchResultEntryr/   Nc                 C   r1   )z
        Create an instance of this class set to the ``success`` tag with value
        ``val``.

        :param DeleteBatchResultData val:
        :rtype: DeleteBatchResultEntry
        r   r   r2   r   r   r   r   *  r5   zDeleteBatchResultEntry.successc                 C   r1   )z
        Create an instance of this class set to the ``failure`` tag with value
        ``val``.

        :param DeleteError val:
        :rtype: DeleteBatchResultEntry
        r   r   r2   r   r   r   r   5  r5   zDeleteBatchResultEntry.failurec                 C   r6   r   r8   r9   r   r   r   r   @  r;   z!DeleteBatchResultEntry.is_successc                 C   r6   r   r8   r9   r   r   r   r   H  r;   z!DeleteBatchResultEntry.is_failurec                 C   r>   )zf
        Only call this if :meth:`is_success` is true.

        :rtype: DeleteBatchResultData
        r   r   r9   r   r   r   r   P  rE   z"DeleteBatchResultEntry.get_successc                 C   r>   )z\
        Only call this if :meth:`is_failure` is true.

        :rtype: DeleteError
        r   r   r9   r   r   r   r   Z  rE   z"DeleteBatchResultEntry.get_failurec                    r   r   )r   r   r   r   r   r   r   r   d  r!   z2DeleteBatchResultEntry._process_custom_annotationsr   r   r   r   r   r   !  r   r   c                          e Zd ZdZdZdZdZdZedd Z	edd Z
dd	 Zd
d Zdd Zdd Zdd Zdd Zdd Z fddZ  ZS )DeleteErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.DeleteError.too_many_write_operations: There are too many write
        operations in user's Dropbox. Please retry this request.
    :ivar files.DeleteError.too_many_files: There are too many files in one
        request. Please retry with fewer files.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path_lookup`` tag with
        value ``val``.

        :param LookupError val:
        :rtype: DeleteError
        path_lookupr   r2   r   r   r   r   }  r5   zDeleteError.path_lookupc                 C   r1   )z
        Create an instance of this class set to the ``path_write`` tag with
        value ``val``.

        :param WriteError val:
        :rtype: DeleteError
        
path_writer   r2   r   r   r   r     r5   zDeleteError.path_writec                 C   r6   zR
        Check if the union tag is ``path_lookup``.

        :rtype: bool
        r   r8   r9   r   r   r   is_path_lookup  r;   zDeleteError.is_path_lookupc                 C   r6   zQ
        Check if the union tag is ``path_write``.

        :rtype: bool
        r   r8   r9   r   r   r   is_path_write  r;   zDeleteError.is_path_writec                 C   r6   r   r8   r9   r   r   r   r     r;   z(DeleteError.is_too_many_write_operationsc                 C   r6   r   r8   r9   r   r   r   r     r;   zDeleteError.is_too_many_filesc                 C   r6   r<   r8   r9   r   r   r   r=     r;   zDeleteError.is_otherc                 C   r>   )z`
        Only call this if :meth:`is_path_lookup` is true.

        :rtype: LookupError
        tag 'path_lookup' not setr   rB   rC   r9   r   r   r   get_path_lookup  rE   zDeleteError.get_path_lookupc                 C   r>   )z^
        Only call this if :meth:`is_path_write` is true.

        :rtype: WriteError
        tag 'path_write' not setr   rB   rC   r9   r   r   r   get_path_write  rE   zDeleteError.get_path_writec                    r   r   )r   r   r   r   r   r   r   r     r!   z'DeleteError._process_custom_annotations)r$   r%   r&   r'   rG   r   r   r0   rH   r   r   r   r   r   r   r=   r   r   r   r+   r   r   r   r   r   i  s$    





r   c                       r   )DeleteResultzL
    :ivar files.DeleteResult.metadata: Metadata of the deleted object.
    r   TNc                    r   r   )r   r   r   r   r   r   r   r   r   r   r   r     r   zDeleteResult.__init__r   r{   c                    r   r   )r   r   r   r   r   r   r   r     r!   z(DeleteResult._process_custom_annotationsr   r   r   r   r   r   r     r   r   c                       s   e Zd ZdZg dZdZ					dddZedZ	ejddd	Z
ejd
dd	Zejddd	Zejddd	Z fddZ  ZS )Metadataav  
    Metadata for a file or folder.

    :ivar files.Metadata.name: The last component of the path (including
        extension). This never contains a slash.
    :ivar files.Metadata.path_lower: The lowercased full path in the user's
        Dropbox. This always starts with a slash. This field will be null if the
        file or folder is not mounted.
    :ivar files.Metadata.path_display: The cased path to be used for display
        purposes only. In rare instances the casing will not correctly match the
        user's filesystem, but this behavior will match the path provided in the
        Core API v1, and at least the last path component will have the correct
        casing. Changes to only the casing of paths won't be returned by
        :meth:`dropbox.dropbox_client.Dropbox.files_list_folder_continue`. This
        field will be null if the file or folder is not mounted.
    :ivar files.Metadata.parent_shared_folder_id: Please use
        ``FileSharingInfo.parent_shared_folder_id`` or
        ``FolderSharingInfo.parent_shared_folder_id`` instead.
    :ivar files.Metadata.preview_url: The preview URL of the file.
    )_name_value_path_lower_value_path_display_value_parent_shared_folder_id_value_preview_url_valueTNc                 C   rT   r   )r   r   r   r   r   r   r   name
path_lowerpath_displayparent_shared_folder_idpreview_urlr   r   r   r  r  r  r   r   r   r     rY   zMetadata.__init__r   r   ra   r  r  r  c                    r   r   )r   r   r   r   r   r   r   r   3  r!   z$Metadata._process_custom_annotationsr]   )r$   r%   r&   r'   r(   r)   r   r   r*   r   r   r  r  r  r   r+   r   r   r   r   r     s     

r   c                       s@   e Zd ZdZg ZdZ					d fdd	Z fddZ  ZS )	DeletedMetadataze
    Indicates that there used to be a file or folder at this path, but it no
    longer exists.
    TNc                    s   t t| ||||| d S r   )r   r  r   r  r   r   r   r   C  s   zDeletedMetadata.__init__c                    r   r   )r   r  r   r   r   r   r   r   O  r!   z+DeletedMetadata._process_custom_annotationsr]   	r$   r%   r&   r'   r(   r)   r   r   r+   r   r   r   r   r  8  s    r  c                       r	   )
Dimensionsz
    Dimensions for a photo or video.

    :ivar files.Dimensions.height: Height of the photo/video.
    :ivar files.Dimensions.width: Width of the photo/video.
    _height_value_width_valueTNc                 C   r   r   )r   r   r  r	  heightwidth)r   r
  r  r   r   r   r   c  r   zDimensions.__init__r
  r  c                    r   r   )r   r  r   r   r   r   r   r   s  r!   z&Dimensions._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r
  r  r   r+   r   r   r   r   r  T      


r  c                       r|   )DownloadArgz
    :ivar files.DownloadArg.path: The path of the file to download.
    :ivar files.DownloadArg.rev: Please specify revision in ``path`` instead.
    r   
_rev_valueTNc                 C   r   r   r   r   r   r  r   revr   r   r  r   r   r   r     r   zDownloadArg.__init__r   r  ra   c                    r   r   )r   r  r   r   r   r   r   r     r!   z'DownloadArg._process_custom_annotationsr"   r$   r%   r&   r'   r(   r)   r   r   r*   r   r  r   r+   r   r   r   r   r  x      

r  c                       X   e Zd ZdZdZdZdZedd Zdd Z	dd	 Z
d
d Zdd Z fddZ  ZS )DownloadErrorau  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.DownloadError.unsupported_file: This file type cannot be
        downloaded directly; use
        :meth:`dropbox.dropbox_client.Dropbox.files_export` instead.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param LookupError val:
        :rtype: DownloadError
        r   r   r2   r   r   r   r     r5   zDownloadError.pathc                 C   r6   r7   r8   r9   r   r   r   r:     r;   zDownloadError.is_pathc                 C   r6   zW
        Check if the union tag is ``unsupported_file``.

        :rtype: bool
        unsupported_filer8   r9   r   r   r   is_unsupported_file  r;   z!DownloadError.is_unsupported_filec                 C   r6   r<   r8   r9   r   r   r   r=     r;   zDownloadError.is_otherc                 C   r>   r?   rA   r9   r   r   r   rD     rE   zDownloadError.get_pathc                    r   r   )r   r  r   r   r   r   r   r     r!   z)DownloadError._process_custom_annotations)r$   r%   r&   r'   rG   r  r0   rH   r   r:   r  r=   rD   r   r+   r   r   r   r   r    s    



r  c                       @   e Zd ZdZdgZdZ	d
ddZedZ	 fdd	Z
  ZS )DownloadZipArgzN
    :ivar files.DownloadZipArg.path: The path of the folder to download.
    r   TNc                 C   r   r   r   r   r   r   r   r   r   r   r   r     r   zDownloadZipArg.__init__r   c                    r   r   )r   r  r   r   r   r   r   r     r!   z*DownloadZipArg._process_custom_annotationsr   r$   r%   r&   r'   r(   r)   r   r   r*   r   r   r+   r   r   r   r   r        

r  c                       d   e Zd ZdZdZdZdZdZedd Z	dd Z
dd	 Zd
d Zdd Zdd Z fddZ  ZS )DownloadZipErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.DownloadZipError.too_large: The folder or a file is too large to
        download.
    :ivar files.DownloadZipError.too_many_files: The folder has too many files
        to download.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param LookupError val:
        :rtype: DownloadZipError
        r   r   r2   r   r   r   r   
  r5   zDownloadZipError.pathc                 C   r6   r7   r8   r9   r   r   r   r:     r;   zDownloadZipError.is_pathc                 C   r6   zP
        Check if the union tag is ``too_large``.

        :rtype: bool
        	too_larger8   r9   r   r   r   is_too_large  r;   zDownloadZipError.is_too_largec                 C   r6   r   r8   r9   r   r   r   r   %  r;   z"DownloadZipError.is_too_many_filesc                 C   r6   r<   r8   r9   r   r   r   r=   -  r;   zDownloadZipError.is_otherc                 C   r>   r?   rA   r9   r   r   r   rD   5  rE   zDownloadZipError.get_pathc                    r   r   )r   r   r   r   r   r   r   r   ?  r!   z,DownloadZipError._process_custom_annotations)r$   r%   r&   r'   rG   r"  r   r0   rH   r   r:   r#  r   r=   rD   r   r+   r   r   r   r   r         


r   c                       s@   e Zd ZdgZdZ	d
ddZejdddZ fdd	Z	  Z
S )DownloadZipResultr   TNc                 C   r   r   r   r   r   r   r   r   L  r   zDownloadZipResult.__init__r   r{   c                    r   r   )r   r%  r   r   r   r   r   r   U  r!   z-DownloadZipResult._process_custom_annotationsr   )r$   r%   r&   r(   r)   r   r   r*   r   r   r+   r   r   r   r   r%  D  s    
r%  c                       r|   )	ExportArga  
    :ivar files.ExportArg.path: The path of the file to be exported.
    :ivar files.ExportArg.export_format: The file format to which the file
        should be exported. This must be one of the formats listed in the file's
        export_options returned by
        :meth:`dropbox.dropbox_client.Dropbox.files_get_metadata`. If none is
        specified, the default format (specified in export_as in file metadata)
        will be used.
    r   _export_format_valueTNc                 C   r   r   )r   r   r   r'  r   export_format)r   r   r(  r   r   r   r   l  r   zExportArg.__init__r   r(  ra   c                    r   r   )r   r&  r   r   r   r   r   r   |  r!   z%ExportArg._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r   r(  r   r+   r   r   r   r   r&  Z      

r&  c                       p   e Zd ZdZdZdZdZdZdZe	dd Z
dd Zdd	 Zd
d Zdd Zdd Zdd Z fddZ  ZS )ExportErroraS  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.ExportError.non_exportable: This file type cannot be exported.
        Use :meth:`dropbox.dropbox_client.Dropbox.files_download` instead.
    :ivar files.ExportError.invalid_export_format: The specified export format
        is not a valid option for this file type.
    :ivar files.ExportError.retry_error: The exportable content is not yet
        available. Please retry later.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param LookupError val:
        :rtype: ExportError
        r   r   r2   r   r   r   r     r5   zExportError.pathc                 C   r6   r7   r8   r9   r   r   r   r:     r;   zExportError.is_pathc                 C   r6   )zU
        Check if the union tag is ``non_exportable``.

        :rtype: bool
        non_exportabler8   r9   r   r   r   is_non_exportable  r;   zExportError.is_non_exportablec                 C   r6   )z\
        Check if the union tag is ``invalid_export_format``.

        :rtype: bool
        invalid_export_formatr8   r9   r   r   r   is_invalid_export_format  r;   z$ExportError.is_invalid_export_formatc                 C   r6   )zR
        Check if the union tag is ``retry_error``.

        :rtype: bool
        retry_errorr8   r9   r   r   r   is_retry_error  r;   zExportError.is_retry_errorc                 C   r6   r<   r8   r9   r   r   r   r=     r;   zExportError.is_otherc                 C   r>   r?   rA   r9   r   r   r   rD     rE   zExportError.get_pathc                    r   r   )r   r+  r   r   r   r   r   r     r!   z'ExportError._process_custom_annotations)r$   r%   r&   r'   rG   r,  r.  r0  r0   rH   r   r:   r-  r/  r1  r=   rD   r   r+   r   r   r   r   r+         


r+  c                       sV   e Zd ZdZddgZdZ		dddZejdd	d
Z	ejdd	d
Z
 fddZ  ZS )
ExportInfoa:  
    Export information for a file.

    :ivar files.ExportInfo.export_as: Format to which the file can be exported
        to.
    :ivar files.ExportInfo.export_options: Additional formats to which the file
        can be exported. These values can be specified as the export_format in
        /files/export.
    _export_as_value_export_options_valueFNc                 C   r   r   )r   r   r4  r5  	export_asexport_options)r   r6  r7  r   r   r   r     r   zExportInfo.__init__r6  Tra   r7  c                    r   r   )r   r3  r   r   r   r   r   r     r!   z&ExportInfo._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r6  r7  r   r+   r   r   r   r   r3    s    
r3  c                       sn   e Zd ZdZg dZdZ				dddZedZ	edZ
ejd	dd
Zejddd
Z fddZ  ZS )ExportMetadataa  
    :ivar files.ExportMetadata.name: The last component of the path (including
        extension). This never contains a slash.
    :ivar files.ExportMetadata.size: The file size in bytes.
    :ivar files.ExportMetadata.export_hash: A hash based on the exported file
        content. This field can be used to verify data integrity. Similar to
        content hash. For more information see our `Content hash
        <https://www.dropbox.com/developers/reference/content-hash>`_ page.
    :ivar files.ExportMetadata.paper_revision: If the file is a Paper doc, this
        gives the latest doc revision which can be used in
        :meth:`dropbox.dropbox_client.Dropbox.files_paper_update`.
    )r   _size_value_export_hash_value_paper_revision_valueTNc                 C   `   t j| _t j| _t j| _t j| _|d ur|| _|d ur|| _|d ur%|| _|d ur.|| _	d S d S r   )
r   r   r   r9  r:  r;  r   sizeexport_hashpaper_revision)r   r   r=  r>  r?  r   r   r   r        
zExportMetadata.__init__r   r=  r>  ra   r?  c                    r   r   )r   r8  r   r   r   r   r   r   7  r!   z*ExportMetadata._process_custom_annotationsNNNN)r$   r%   r&   r'   r(   r)   r   r   r*   r   r=  r>  r?  r   r+   r   r   r   r   r8    s    


r8  c                       V   e Zd ZdZddgZdZ		dddZejddd	Z	ejd
dd	Z
 fddZ  ZS )ExportResultz
    :ivar files.ExportResult.export_metadata: Metadata for the exported version
        of the file.
    :ivar files.ExportResult.file_metadata: Metadata for the original file.
    _export_metadata_value_file_metadata_valueTNc                 C   r   r   )r   r   rD  rE  export_metadatafile_metadata)r   rF  rG  r   r   r   r   J  r   zExportResult.__init__rF  r{   rG  c                    r   r   )r   rC  r   r   r   r   r   r   Z  r!   z(ExportResult._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   rF  rG  r   r+   r   r   r   r   rC  <      
rC  c                       s   e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZdZdZdZdd Zdd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z fddZ  ZS )FileCategorya4  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.FileCategory.image: jpg, png, gif, and more.
    :ivar files.FileCategory.document: doc, docx, txt, and more.
    :ivar files.FileCategory.pdf: pdf.
    :ivar files.FileCategory.spreadsheet: xlsx, xls, csv, and more.
    :ivar files.FileCategory.presentation: ppt, pptx, key, and more.
    :ivar files.FileCategory.audio: mp3, wav, mid, and more.
    :ivar files.FileCategory.video: mov, wmv, mp4, and more.
    :ivar files.FileCategory.folder: dropbox folder.
    :ivar files.FileCategory.paper: dropbox paper doc.
    :ivar files.FileCategory.others: any file not in one of the categories
        above.
    r0   Nc                 C   r6   )zL
        Check if the union tag is ``image``.

        :rtype: bool
        imager8   r9   r   r   r   is_image  r;   zFileCategory.is_imagec                 C   r6   )zO
        Check if the union tag is ``document``.

        :rtype: bool
        documentr8   r9   r   r   r   is_document  r;   zFileCategory.is_documentc                 C   r6   )zJ
        Check if the union tag is ``pdf``.

        :rtype: bool
        pdfr8   r9   r   r   r   is_pdf  r;   zFileCategory.is_pdfc                 C   r6   )zR
        Check if the union tag is ``spreadsheet``.

        :rtype: bool
        spreadsheetr8   r9   r   r   r   is_spreadsheet  r;   zFileCategory.is_spreadsheetc                 C   r6   )zS
        Check if the union tag is ``presentation``.

        :rtype: bool
        presentationr8   r9   r   r   r   is_presentation  r;   zFileCategory.is_presentationc                 C   r6   )zL
        Check if the union tag is ``audio``.

        :rtype: bool
        audior8   r9   r   r   r   is_audio  r;   zFileCategory.is_audioc                 C   r6   )zL
        Check if the union tag is ``video``.

        :rtype: bool
        videor8   r9   r   r   r   is_video  r;   zFileCategory.is_videoc                 C   r6   zM
        Check if the union tag is ``folder``.

        :rtype: bool
        folderr8   r9   r   r   r   	is_folder  r;   zFileCategory.is_folderc                 C   r6   )zL
        Check if the union tag is ``paper``.

        :rtype: bool
        paperr8   r9   r   r   r   is_paper  r;   zFileCategory.is_paperc                 C   r6   )zM
        Check if the union tag is ``others``.

        :rtype: bool
        othersr8   r9   r   r   r   	is_others  r;   zFileCategory.is_othersc                 C   r6   r<   r8   r9   r   r   r   r=     r;   zFileCategory.is_otherc                    r   r   )r   rI  r   r   r   r   r   r     r!   z(FileCategory._process_custom_annotations)r$   r%   r&   r'   rG   rJ  rL  rN  rP  rR  rT  rV  rY  r[  r]  r0   rK  rM  rO  rQ  rS  rU  rW  rZ  r\  r^  r=   r   r+   r   r   r   r   rI  _  s4    rI  c                       r   )FileLockz=
    :ivar files.FileLock.content: The lock description.
    _content_valueTNc                 C   r   r   )r   r   r`  content)r   ra  r   r   r   r     r   zFileLock.__init__ra  r{   c                    r   r   )r   r_  r   r   r   r   r   r     r!   z$FileLock._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   ra  r   r+   r   r   r   r   r_    r   r_  c                       r  )FileLockContental  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.FileLockContent.unlocked: Empty type to indicate no lock.
    :ivar SingleUserLock FileLockContent.single_user: A lock held by a single
        user.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``single_user`` tag with
        value ``val``.

        :param SingleUserLock val:
        :rtype: FileLockContent
        single_userr   r2   r   r   r   rc  	  r5   zFileLockContent.single_userc                 C   r6   )zO
        Check if the union tag is ``unlocked``.

        :rtype: bool
        unlockedr8   r9   r   r   r   is_unlocked	  r;   zFileLockContent.is_unlockedc                 C   r6   )zR
        Check if the union tag is ``single_user``.

        :rtype: bool
        rc  r8   r9   r   r   r   is_single_user$	  r;   zFileLockContent.is_single_userc                 C   r6   r<   r8   r9   r   r   r   r=   ,	  r;   zFileLockContent.is_otherc                 C   r>   )z
        A lock held by a single user.

        Only call this if :meth:`is_single_user` is true.

        :rtype: SingleUserLock
        ztag 'single_user' not set)rf  rB   rC   r9   r   r   r   get_single_user4	  r   zFileLockContent.get_single_userc                    r   r   )r   rb  r   r   r   r   r   r   @	  r!   z+FileLockContent._process_custom_annotations)r$   r%   r&   r'   rG   rd  r0   rH   rc  re  rf  r=   rg  r   r+   r   r   r   r   rb   	  s    


rb  c                       sv   e Zd ZdZg dZdZ				dddZejddd	Z	ejd
dd	Z
ejddd	Zejddd	Z fddZ  ZS )FileLockMetadataa}  
    :ivar files.FileLockMetadata.is_lockholder: True if caller holds the file
        lock.
    :ivar files.FileLockMetadata.lockholder_name: The display name of the lock
        holder.
    :ivar files.FileLockMetadata.lockholder_account_id: The account ID of the
        lock holder if known.
    :ivar files.FileLockMetadata.created: The timestamp of the lock was created.
    )_is_lockholder_value_lockholder_name_value_lockholder_account_id_value_created_valueFNc                 C   r<  r   )
r   r   ri  rj  rk  rl  is_lockholderlockholder_namelockholder_account_idcreated)r   rm  rn  ro  rp  r   r   r   r   Y	  r@  zFileLockMetadata.__init__rm  Tra   rn  ro  rp  c                    r   r   )r   rh  r   r   r   r   r   r   w	  r!   z,FileLockMetadata._process_custom_annotationsrA  )r$   r%   r&   r'   r(   r)   r   r   r*   rm  rn  ro  rp  r   r+   r   r   r   r   rh  E	  s    

rh  c                       s  e Zd ZdZg dZdZ																			d fdd	ZedZ	edZ
ed	Zed
ZedZejddddZejddddZejddddZedZejddddZejdddZejdddZejdddZejddddZ fddZ  ZS )FileMetadataa  
    :ivar files.FileMetadata.id: A unique identifier for the file.
    :ivar files.FileMetadata.client_modified: For files, this is the
        modification time set by the desktop client when the file was added to
        Dropbox. Since this time is not verified (the Dropbox server stores
        whatever the desktop client sends up), this should only be used for
        display purposes (such as sorting) and not, for example, to determine if
        a file has changed or not.
    :ivar files.FileMetadata.server_modified: The last time the file was
        modified on Dropbox.
    :ivar files.FileMetadata.rev: A unique identifier for the current revision
        of a file. This field is the same rev as elsewhere in the API and can be
        used to detect changes and avoid conflicts.
    :ivar files.FileMetadata.size: The file size in bytes.
    :ivar files.FileMetadata.media_info: Additional information if the file is a
        photo or video. This field will not be set on entries returned by
        :meth:`dropbox.dropbox_client.Dropbox.files_list_folder`,
        :meth:`dropbox.dropbox_client.Dropbox.files_list_folder_continue`, or
        :meth:`dropbox.dropbox_client.Dropbox.files_get_thumbnail_batch`,
        starting December 2, 2019.
    :ivar files.FileMetadata.symlink_info: Set if this file is a symlink.
    :ivar files.FileMetadata.sharing_info: Set if this file is contained in a
        shared folder.
    :ivar files.FileMetadata.is_downloadable: If true, file can be downloaded
        directly; else the file must be exported.
    :ivar files.FileMetadata.export_info: Information about format this file can
        be exported to. This filed must be set if ``is_downloadable`` is set to
        false.
    :ivar files.FileMetadata.property_groups: Additional information if the file
        has custom properties with the property template specified.
    :ivar files.FileMetadata.has_explicit_shared_members: This flag will only be
        present if include_has_explicit_shared_members  is true in
        :meth:`dropbox.dropbox_client.Dropbox.files_list_folder` or
        :meth:`dropbox.dropbox_client.Dropbox.files_get_metadata`. If this  flag
        is present, it will be true if this file has any explicit shared
        members. This is different from sharing_info in that this could be true
        in the case where a file has explicit members but is not contained
        within  a shared folder.
    :ivar files.FileMetadata.content_hash: A hash of the file content. This
        field can be used to verify data integrity. For more information see our
        `Content hash
        <https://www.dropbox.com/developers/reference/content-hash>`_ page.
    :ivar files.FileMetadata.file_lock_info: If present, the metadata associated
        with the file's current lock.
    )r~   rq   _server_modified_valuer  r9  _media_info_value_symlink_info_value_sharing_info_value_is_downloadable_value_export_info_valuers   "_has_explicit_shared_members_value_content_hash_value_file_lock_info_valueTNc                    sT  t t| ||||	|
 tj| _tj| _tj| _tj| _tj| _	tj| _
tj| _tj| _tj| _tj| _tj| _tj| _tj| _tj| _|d urK|| _|d urR|| _|d urY|| _|d ur`|| _|d urg|| _|d urn|| _|d uru|| _|d ur||| _|d ur|| _|d ur|| _|d ur|| _|d ur|| _|d ur|| _|d ur|| _ d S d S r   )!r   rq  r   r   r   r~   rq   rr  r  r9  rs  rt  ru  rv  rw  rs   rx  ry  rz  r   rw   server_modifiedr  r=  
media_infosymlink_infosharing_infois_downloadableexport_infory   has_explicit_shared_memberscontent_hashfile_lock_info)r   r   r   rw   r{  r  r=  r   r  r  r  r|  r}  r~  r  r  ry   r  r  r  r   r   r   r   	  sb   
zFileMetadata.__init__r   rw   r{  r  r=  r|  rZ   r}  r~  r  r  ry   ra   r  r  r  c                    r   r   )r   rq  r   r   r   r   r   r   ,
  r!   z(FileMetadata._process_custom_annotations)NNNNNNNNNNNNNNNNNNN)r$   r%   r&   r'   r(   r)   r   r   r*   r   rw   r{  r  r=  r|  r}  r~  r  r  ry   r  r  r  r   r+   r   r   r   r   rq  |	  sN    .
E




rq  c                       r  )SharingInfoz
    Sharing info for a file or folder.

    :ivar files.SharingInfo.read_only: True if the file or folder is inside a
        read-only shared folder.
    _read_only_valueTNc                 C   r   r   )r   r   r  	read_only)r   r  r   r   r   r   ?
  r   zSharingInfo.__init__r  c                    r   r   )r   r  r   r   r   r   r   r   H
  r!   z'SharingInfo._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r   r+   r   r   r   r   r  1
      

r  c                       sX   e Zd ZdZddgZdZ			d fdd	ZedZ	ejd	dd
Z
 fddZ  ZS )FileSharingInfoaN  
    Sharing info for a file which is contained by a shared folder.

    :ivar files.FileSharingInfo.parent_shared_folder_id: ID of shared folder
        that holds this file.
    :ivar files.FileSharingInfo.modified_by: The last user who modified the
        file. This field will be null if the user's account has been deleted.
    r   _modified_by_valueTNc                    sD   t t| | tj| _tj| _|d ur|| _|d ur || _d S d S r   )	r   r  r   r   r   r   r  r  modified_by)r   r  r  r  r   r   r   r   ^
  s   
zFileSharingInfo.__init__r  r  ra   c                    r   r   )r   r  r   r   r   r   r   r   p
  r!   z+FileSharingInfo._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r  r   r+   r   r   r   r   r  M
  s    

r  c                       H   e Zd ZdZdZdZdZdZdd Zdd Z	dd	 Z
 fd
dZ  ZS )
FileStatusr/   r0   Nc                 C   r6   )zM
        Check if the union tag is ``active``.

        :rtype: bool
        activer8   r9   r   r   r   	is_active
  r;   zFileStatus.is_activec                 C   r6   )zN
        Check if the union tag is ``deleted``.

        :rtype: bool
        deletedr8   r9   r   r   r   
is_deleted
  r;   zFileStatus.is_deletedc                 C   r6   r<   r8   r9   r   r   r   r=   
  r;   zFileStatus.is_otherc                    r   r   )r   r  r   r   r   r   r   r   
  r!   z&FileStatus._process_custom_annotations)r$   r%   r&   r'   rG   r  r  r0   r  r  r=   r   r+   r   r   r   r   r  u
      r  c                       s   e Zd ZdZg dZdZ									d fdd	ZedZ	ejddd	Z
ejd
dddZejddd	Z fddZ  ZS )FolderMetadataaQ  
    :ivar files.FolderMetadata.id: A unique identifier for the folder.
    :ivar files.FolderMetadata.shared_folder_id: Please use ``sharing_info``
        instead.
    :ivar files.FolderMetadata.sharing_info: Set if the folder is contained in a
        shared folder or is a shared folder mount point.
    :ivar files.FolderMetadata.property_groups: Additional information if the
        file has custom properties with the property template specified. Note
        that only properties associated with user-owned templates, not
        team-owned templates, can be attached to folders.
    )r~   _shared_folder_id_valueru  rs   TNc
           
         sx   t t| ||||| tj| _tj| _tj| _tj| _|d ur#|| _	|d ur*|| _
|d ur1|| _|	d ur:|	| _d S d S r   )r   r  r   r   r   r~   r  ru  rs   r   shared_folder_idr~  ry   )
r   r   r   r   r  r  r  r  r~  ry   r   r   r   r   
  s&   

zFolderMetadata.__init__r   r  ra   r~  rZ   ry   c                    r   r   )r   r  r   r   r   r   r   r   
  r!   z*FolderMetadata._process_custom_annotations)	NNNNNNNNN)r$   r%   r&   r'   r(   r)   r   r   r*   r   r  r~  ry   r   r+   r   r   r   r   r  
  s&    
r  c                       st   e Zd ZdZg dZdZ					d fdd	ZejdddZ	ejd	ddZ
ed
ZedZ fddZ  ZS )FolderSharingInfoa(  
    Sharing info for a folder which is contained in a shared folder or is a
    shared folder mount point.

    :ivar files.FolderSharingInfo.parent_shared_folder_id: Set if the folder is
        contained by a shared folder.
    :ivar files.FolderSharingInfo.shared_folder_id: If this folder is a shared
        folder mount point, the ID of the shared folder mounted at this
        location.
    :ivar files.FolderSharingInfo.traverse_only: Specifies that the folder can
        only be traversed and the user can only see a limited subset of the
        contents of this folder because they don't have read access to this
        folder. They do, however, have access to some sub folder.
    :ivar files.FolderSharingInfo.no_access: Specifies that the folder cannot be
        accessed by the user.
    )r   r  _traverse_only_value_no_access_valueTNc                    sp   t t| | tj| _tj| _tj| _tj| _|d ur|| _	|d ur&|| _
|d ur-|| _|d ur6|| _d S d S r   )r   r  r   r   r   r   r  r  r  r  r  traverse_only	no_access)r   r  r  r  r  r  r   r   r   r   
  s   
zFolderSharingInfo.__init__r  ra   r  r  r  c                    r   r   )r   r  r   r   r   r   r   r     r!   z-FolderSharingInfo._process_custom_annotationsr]   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r  r  r  r   r+   r   r   r   r   r  
  s    

r  c                       r  )GetCopyReferenceArgz{
    :ivar files.GetCopyReferenceArg.path: The path to the file or folder you
        want to get a copy reference to.
    r   TNc                 C   r   r   r  r  r   r   r   r   0  r   zGetCopyReferenceArg.__init__r   c                    r   r   )r   r  r   r   r   r   r   r   9  r!   z/GetCopyReferenceArg._process_custom_annotationsr   r  r   r   r   r   r  $      

r  c                       r-   )GetCopyReferenceErrorr/   r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param LookupError val:
        :rtype: GetCopyReferenceError
        r   r   r2   r   r   r   r   I  r5   zGetCopyReferenceError.pathc                 C   r6   r7   r8   r9   r   r   r   r:   T  r;   zGetCopyReferenceError.is_pathc                 C   r6   r<   r8   r9   r   r   r   r=   \  r;   zGetCopyReferenceError.is_otherc                 C   r>   r?   rA   r9   r   r   r   rD   d  rE   zGetCopyReferenceError.get_pathc                    r   r   )r   r  r   r   r   r   r   r   n  r!   z1GetCopyReferenceError._process_custom_annotationsrF   r   r   r   r   r  >  rI   r  c                       s^   e Zd ZdZg dZdZ			dddZejdddZ	ed	Z
ed
Z fddZ  ZS )GetCopyReferenceResulta  
    :ivar files.GetCopyReferenceResult.metadata: Metadata of the file or folder.
    :ivar files.GetCopyReferenceResult.copy_reference: A copy reference to the
        file or folder.
    :ivar files.GetCopyReferenceResult.expires: The expiration date of the copy
        reference. This value is currently set to be far enough in the future so
        that expiration is effectively not an issue.
    )r   _copy_reference_value_expires_valueTNc                 C   r   r   )r   r   r   r  r  r   copy_referenceexpires)r   r   r  r  r   r   r   r     r   zGetCopyReferenceResult.__init__r   r{   r  r  c                    r   r   )r   r  r   r   r   r   r   r     r!   z2GetCopyReferenceResult._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r   r  r  r   r+   r   r   r   r   r  s  s    	


r  c                       r  )
GetTagsArgz:
    :ivar files.GetTagsArg.paths: Path to the items.
    r   TNc                 C   r   r   )r   r   r   r   )r   r   r   r   r   r     r   zGetTagsArg.__init__r   c                    r   r   )r   r  r   r   r   r   r   r     r!   z&GetTagsArg._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r   r   r+   r   r   r   r   r    r  r  c                       r  )GetTagsResultzf
    :ivar files.GetTagsResult.paths_to_tags: List of paths and their
        corresponding tags.
    _paths_to_tags_valueTNc                 C   r   r   )r   r   r  paths_to_tags)r   r  r   r   r   r     r   zGetTagsResult.__init__r  c                    r   r   )r   r  r   r   r   r   r   r     r!   z)GetTagsResult._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r   r+   r   r   r   r   r    r  r  c                       r  )GetTemporaryLinkArgzj
    :ivar files.GetTemporaryLinkArg.path: The path to the file you want a
        temporary link to.
    r   TNc                 C   r   r   r  r  r   r   r   r     r   zGetTemporaryLinkArg.__init__r   c                    r   r   )r   r  r   r   r   r   r   r     r!   z/GetTemporaryLinkArg._process_custom_annotationsr   r  r   r   r   r   r    r  r  c                       r*  )GetTemporaryLinkErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.GetTemporaryLinkError.email_not_verified: This user's email
        address is not verified. This functionality is only available on
        accounts with a verified email address. Users can verify their email
        address `here <https://www.dropbox.com/help/317>`_.
    :ivar files.GetTemporaryLinkError.unsupported_file: Cannot get temporary
        link to this file type; use
        :meth:`dropbox.dropbox_client.Dropbox.files_export` instead.
    :ivar files.GetTemporaryLinkError.not_allowed: The user is not allowed to
        request a temporary link to the specified file. For example, this can
        occur if the file is restricted or if the user's links are `banned
        <https://help.dropbox.com/files-folders/share/banned-links>`_.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param LookupError val:
        :rtype: GetTemporaryLinkError
        r   r   r2   r   r   r   r     r5   zGetTemporaryLinkError.pathc                 C   r6   r7   r8   r9   r   r   r   r:     r;   zGetTemporaryLinkError.is_pathc                 C   r6   )zY
        Check if the union tag is ``email_not_verified``.

        :rtype: bool
        email_not_verifiedr8   r9   r   r   r   is_email_not_verified  r;   z+GetTemporaryLinkError.is_email_not_verifiedc                 C   r6   r  r8   r9   r   r   r   r  &  r;   z)GetTemporaryLinkError.is_unsupported_filec                 C   r6   )zR
        Check if the union tag is ``not_allowed``.

        :rtype: bool
        not_allowedr8   r9   r   r   r   is_not_allowed.  r;   z$GetTemporaryLinkError.is_not_allowedc                 C   r6   r<   r8   r9   r   r   r   r=   6  r;   zGetTemporaryLinkError.is_otherc                 C   r>   r?   rA   r9   r   r   r   rD   >  rE   zGetTemporaryLinkError.get_pathc                    r   r   )r   r  r   r   r   r   r   r   H  r!   z1GetTemporaryLinkError._process_custom_annotations)r$   r%   r&   r'   rG   r  r  r  r0   rH   r   r:   r  r  r  r=   rD   r   r+   r   r   r   r   r    s     


r  c                       R   e Zd ZdZddgZdZ		dddZejddd	Z	ed
Z
 fddZ  ZS )GetTemporaryLinkResultz
    :ivar files.GetTemporaryLinkResult.metadata: Metadata of the file.
    :ivar files.GetTemporaryLinkResult.link: The temporary link which can be
        used to stream content the file.
    r   _link_valueTNc                 C   r   r   )r   r   r   r  r   link)r   r   r  r   r   r   r   [  r   zGetTemporaryLinkResult.__init__r   r{   r  c                    r   r   )r   r  r   r   r   r   r   r   k  r!   z2GetTemporaryLinkResult._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r   r  r   r+   r   r   r   r   r  M  s    

r  c                       r  )GetTemporaryUploadLinkArga  
    :ivar files.GetTemporaryUploadLinkArg.commit_info: Contains the path and
        other optional modifiers for the future upload commit. Equivalent to the
        parameters provided to
        :meth:`dropbox.dropbox_client.Dropbox.files_upload`.
    :ivar files.GetTemporaryUploadLinkArg.duration: How long before this link
        expires, in seconds.  Attempting to start an upload with this link
        longer than this period  of time after link creation will result in an
        error.
    _commit_info_value_duration_valueTNc                 C   r   r   )r   r   r  r  commit_infoduration)r   r  r  r   r   r   r     r   z"GetTemporaryUploadLinkArg.__init__r  r{   r  c                    r   r   )r   r  r   r   r   r   r   r     r!   z5GetTemporaryUploadLinkArg._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r  r   r+   r   r   r   r   r  p  s    

r  c                       r  )GetTemporaryUploadLinkResultz
    :ivar files.GetTemporaryUploadLinkResult.link: The temporary link which can
        be used to stream a file to a Dropbox location.
    r  TNc                 C   r   r   )r   r   r  r  )r   r  r   r   r   r     r   z%GetTemporaryUploadLinkResult.__init__r  c                    r   r   )r   r  r   r   r   r   r   r     r!   z8GetTemporaryUploadLinkResult._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r   r+   r   r   r   r   r    r  r  c                       r  )GetThumbnailBatchArgz
    Arguments for
    :meth:`dropbox.dropbox_client.Dropbox.files_get_thumbnail_batch`.

    :ivar files.GetThumbnailBatchArg.entries: List of files to get thumbnails.
    r   TNc                 C   r   r   r   r   r   r   r   r     r   zGetThumbnailBatchArg.__init__r   c                    r   r   )r   r  r   r   r   r   r   r     r!   z0GetThumbnailBatchArg._process_custom_annotationsr   r   r   r   r   r   r    r  r  c                       r   )
GetThumbnailBatchErrora0  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.GetThumbnailBatchError.too_many_files: The operation involves
        more than 25 files.
    r0   Nc                 C   r6   r   r8   r9   r   r   r   r     r;   z(GetThumbnailBatchError.is_too_many_filesc                 C   r6   r<   r8   r9   r   r   r   r=     r;   zGetThumbnailBatchError.is_otherc                    r   r   )r   r  r   r   r   r   r   r     r!   z2GetThumbnailBatchError._process_custom_annotationsr   r   r   r   r   r    r   r  c                       r  )GetThumbnailBatchResultzb
    :ivar files.GetThumbnailBatchResult.entries: List of files and their
        thumbnails.
    r   TNc                 C   r   r   r   r   r   r   r   r     r   z GetThumbnailBatchResult.__init__r   c                    r   r   )r   r  r   r   r   r   r   r     r!   z3GetThumbnailBatchResult._process_custom_annotationsr   r   r   r   r   r   r    r  r  c                       r  )GetThumbnailBatchResultDataz
    :ivar files.GetThumbnailBatchResultData.thumbnail: A string containing the
        base64-encoded thumbnail data for this file.
    r   _thumbnail_valueTNc                 C   r   r   )r   r   r   r  r   	thumbnail)r   r   r  r   r   r   r     r   z$GetThumbnailBatchResultData.__init__r   r{   r  c                    r   r   )r   r  r   r   r   r   r   r   *  r!   z7GetThumbnailBatchResultData._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r   r  r   r+   r   r   r   r   r    s    

r  c                       r   )GetThumbnailBatchResultEntrya:  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar ThumbnailError GetThumbnailBatchResultEntry.failure: The result for
        this file if it was an error.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``success`` tag with value
        ``val``.

        :param GetThumbnailBatchResultData val:
        :rtype: GetThumbnailBatchResultEntry
        r   r   r2   r   r   r   r   =  r5   z$GetThumbnailBatchResultEntry.successc                 C   r1   )z
        Create an instance of this class set to the ``failure`` tag with value
        ``val``.

        :param ThumbnailError val:
        :rtype: GetThumbnailBatchResultEntry
        r   r   r2   r   r   r   r   H  r5   z$GetThumbnailBatchResultEntry.failurec                 C   r6   r   r8   r9   r   r   r   r   S  r;   z'GetThumbnailBatchResultEntry.is_successc                 C   r6   r   r8   r9   r   r   r   r   [  r;   z'GetThumbnailBatchResultEntry.is_failurec                 C   r6   r<   r8   r9   r   r   r   r=   c  r;   z%GetThumbnailBatchResultEntry.is_otherc                 C   r>   )zl
        Only call this if :meth:`is_success` is true.

        :rtype: GetThumbnailBatchResultData
        r   r   r9   r   r   r   r   k  rE   z(GetThumbnailBatchResultEntry.get_successc                 C   r>   )z
        The result for this file if it was an error.

        Only call this if :meth:`is_failure` is true.

        :rtype: ThumbnailError
        r   r   r9   r   r   r   r   u  r   z(GetThumbnailBatchResultEntry.get_failurec                    r   r   )r   r  r   r   r   r   r   r     r!   z8GetThumbnailBatchResultEntry._process_custom_annotationsr$   r%   r&   r'   rG   r0   rH   r   r   r   r   r=   r   r   r   r+   r   r   r   r   r  /  s    	




r  c                       r	   )GpsCoordinatesz
    GPS coordinates for a photo or video.

    :ivar files.GpsCoordinates.latitude: Latitude of the GPS coordinates.
    :ivar files.GpsCoordinates.longitude: Longitude of the GPS coordinates.
    _latitude_value_longitude_valueTNc                 C   r   r   )r   r   r  r  latitude	longitude)r   r  r  r   r   r   r     r   zGpsCoordinates.__init__r  r  c                    r   r   )r   r  r   r   r   r   r   r     r!   z*GpsCoordinates._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r  r   r+   r   r   r   r   r    r  r  c                       r	   )HighlightSpanz
    :ivar files.HighlightSpan.highlight_str: String to be determined whether it
        should be highlighted or not.
    :ivar files.HighlightSpan.is_highlighted: The string should be highlighted
        or not.
    _highlight_str_value_is_highlighted_valueTNc                 C   r   r   )r   r   r  r  highlight_stris_highlighted)r   r  r  r   r   r   r     r   zHighlightSpan.__init__r  r  c                    r   r   )r   r  r   r   r   r   r   r     r!   z)HighlightSpan._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r  r   r+   r   r   r   r   r    r  r  c                       T   e Zd ZdZdZdZdZdZdZdd Z	dd Z
dd	 Zd
d Z fddZ  ZS )ImportFormata  
    The import format of the incoming Paper doc content.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.ImportFormat.html: The provided data is interpreted as standard
        HTML.
    :ivar files.ImportFormat.markdown: The provided data is interpreted as
        markdown.
    :ivar files.ImportFormat.plain_text: The provided data is interpreted as
        plain text.
    r0   Nc                 C   r6   )zK
        Check if the union tag is ``html``.

        :rtype: bool
        htmlr8   r9   r   r   r   is_html  r;   zImportFormat.is_htmlc                 C   r6   )zO
        Check if the union tag is ``markdown``.

        :rtype: bool
        markdownr8   r9   r   r   r   is_markdown  r;   zImportFormat.is_markdownc                 C   r6   )zQ
        Check if the union tag is ``plain_text``.

        :rtype: bool
        
plain_textr8   r9   r   r   r   is_plain_text  r;   zImportFormat.is_plain_textc                 C   r6   r<   r8   r9   r   r   r   r=      r;   zImportFormat.is_otherc                    r   r   )r   r  r   r   r   r   r   r     r!   z(ImportFormat._process_custom_annotations)r$   r%   r&   r'   rG   r  r  r  r0   r  r  r  r=   r   r+   r   r   r   r   r        r  c                       s   e Zd ZdZg dZdZ										dddZedZ	edZ
ed	Zed
ZedZedZejdddZejddddZejddddZedZ fddZ  ZS )ListFolderArga  
    :ivar files.ListFolderArg.path: A unique identifier for the file.
    :ivar files.ListFolderArg.recursive: If true, the list folder operation will
        be applied recursively to all subfolders and the response will contain
        contents of all subfolders.
    :ivar files.ListFolderArg.include_media_info: If true,
        ``FileMetadata.media_info`` is set for photo and video. This parameter
        will no longer have an effect starting December 2, 2019.
    :ivar files.ListFolderArg.include_deleted: If true, the results will include
        entries for files and folders that used to exist but were deleted.
    :ivar files.ListFolderArg.include_has_explicit_shared_members: If true, the
        results will include a flag for each file indicating whether or not
        that file has any explicit members.
    :ivar files.ListFolderArg.include_mounted_folders: If true, the results will
        include entries under mounted folders which includes app folder, shared
        folder and team folder.
    :ivar files.ListFolderArg.limit: The maximum number of results to return per
        request. Note: This is an approximate number and there can be slightly
        more entries returned in some cases.
    :ivar files.ListFolderArg.shared_link: A shared link to list the contents
        of. If the link is password-protected, the password must be provided. If
        this field is present, ``ListFolderArg.path`` will be relative to root
        of the shared link. Only non-recursive mode is supported for shared
        link.
    :ivar files.ListFolderArg.include_property_groups: If set to a valid list of
        template IDs, ``FileMetadata.property_groups`` is set if there exists
        property data associated with the file and each of the listed templates.
    :ivar files.ListFolderArg.include_non_downloadable_files: If true, include
        files that are not downloadable, i.e. Google Docs.
    )
r   _recursive_valuerP   rQ   rR   _include_mounted_folders_value_limit_value_shared_link_valuerS   %_include_non_downloadable_files_valueTNc                 C   s   t j| _t j| _t j| _t j| _t j| _t j| _t j| _t j| _	t j| _
t j| _|d ur/|| _|d ur6|| _|d ur=|| _|d urD|| _|d urK|| _|d urR|| _|d urY|| _|d ur`|| _|	d urg|	| _|
d urp|
| _d S d S r   )r   r   r   r  rP   rQ   rR   r  r  r  rS   r  r   	recursiverU   rV   rW   include_mounted_folderslimitshared_linkrX   include_non_downloadable_files)r   r   r  rU   rV   rW   r  r  r  rX   r  r   r   r   r   <  s>   
zListFolderArg.__init__r   r  rU   rV   rW   r  r  ra   r  rZ   rX   r  c                    r   r   )r   r  r   r   r   r   r   r     r!   z)ListFolderArg._process_custom_annotations)
NNNNNNNNNN)r$   r%   r&   r'   r(   r)   r   r   r*   r   r  rU   rV   rW   r  r  r  rX   r  r   r+   r   r   r   r   r    s4    

+





r  c                       r  )ListFolderContinueArgz
    :ivar files.ListFolderContinueArg.cursor: The cursor returned by your last
        call to :meth:`dropbox.dropbox_client.Dropbox.files_list_folder` or
        :meth:`dropbox.dropbox_client.Dropbox.files_list_folder_continue`.
    _cursor_valueTNc                 C   r   r   r   r   r  cursorr   r  r   r   r   r     r   zListFolderContinueArg.__init__r  c                    r   r   )r   r  r   r   r   r   r   r     r!   z1ListFolderContinueArg._process_custom_annotationsr   r$   r%   r&   r'   r(   r)   r   r   r*   r  r   r+   r   r   r   r   r        

r  c                       r  )ListFolderContinueErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.ListFolderContinueError.reset: Indicates that the cursor has
        been invalidated. Call
        :meth:`dropbox.dropbox_client.Dropbox.files_list_folder` to obtain a new
        cursor.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param LookupError val:
        :rtype: ListFolderContinueError
        r   r   r2   r   r   r   r     r5   zListFolderContinueError.pathc                 C   r6   r7   r8   r9   r   r   r   r:     r;   zListFolderContinueError.is_pathc                 C   r6   zL
        Check if the union tag is ``reset``.

        :rtype: bool
        resetr8   r9   r   r   r   is_reset  r;   z ListFolderContinueError.is_resetc                 C   r6   r<   r8   r9   r   r   r   r=     r;   z ListFolderContinueError.is_otherc                 C   r>   r?   rA   r9   r   r   r   rD     rE   z ListFolderContinueError.get_pathc                    r   r   )r   r  r   r   r   r   r   r     r!   z3ListFolderContinueError._process_custom_annotations)r$   r%   r&   r'   rG   r  r0   rH   r   r:   r  r=   rD   r   r+   r   r   r   r   r    s    


r  c                       r   )ListFolderErrorr/   r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param LookupError val:
        :rtype: ListFolderError
        r   r   r2   r   r   r   r     r5   zListFolderError.pathc                 C   r1   )z
        Create an instance of this class set to the ``template_error`` tag with
        value ``val``.

        :param file_properties.TemplateError val:
        :rtype: ListFolderError
        template_errorr   r2   r   r   r   r    r5   zListFolderError.template_errorc                 C   r6   r7   r8   r9   r   r   r   r:   	  r;   zListFolderError.is_pathc                 C   r6   )zU
        Check if the union tag is ``template_error``.

        :rtype: bool
        r  r8   r9   r   r   r   is_template_error  r;   z!ListFolderError.is_template_errorc                 C   r6   r<   r8   r9   r   r   r   r=     r;   zListFolderError.is_otherc                 C   r>   r?   rA   r9   r   r   r   rD   !  rE   zListFolderError.get_pathc                 C   r>   )zu
        Only call this if :meth:`is_template_error` is true.

        :rtype: file_properties.TemplateError
        ztag 'template_error' not set)r  rB   rC   r9   r   r   r   get_template_error+  rE   z"ListFolderError.get_template_errorc                    r   r   )r   r  r   r   r   r   r   r   5  r!   z+ListFolderError._process_custom_annotations)r$   r%   r&   r'   rG   r0   rH   r   r  r:   r  r=   rD   r  r   r+   r   r   r   r   r        





r  c                       r  )ListFolderGetLatestCursorResultz
    :ivar files.ListFolderGetLatestCursorResult.cursor: Pass the cursor into
        :meth:`dropbox.dropbox_client.Dropbox.files_list_folder_continue` to see
        what's changed in the folder since your previous query.
    r  TNc                 C   r   r   r  r  r   r   r   r   G  r   z(ListFolderGetLatestCursorResult.__init__r  c                    r   r   )r   r  r   r   r   r   r   r   P  r!   z;ListFolderGetLatestCursorResult._process_custom_annotationsr   r  r   r   r   r   r  :  r  r  c                       r	   )ListFolderLongpollArga  
    :ivar files.ListFolderLongpollArg.cursor: A cursor as returned by
        :meth:`dropbox.dropbox_client.Dropbox.files_list_folder` or
        :meth:`dropbox.dropbox_client.Dropbox.files_list_folder_continue`.
        Cursors retrieved by setting ``ListFolderArg.include_media_info`` to
        ``True`` are not supported.
    :ivar files.ListFolderLongpollArg.timeout: A timeout in seconds. The request
        will block for at most this length of time, plus up to 90 seconds of
        random jitter added to avoid the thundering herd problem. Care should be
        taken when using this parameter, as some network infrastructure does not
        support long timeouts.
    r  _timeout_valueTNc                 C   r   r   )r   r   r  r  r  timeout)r   r  r  r   r   r   r   j  r   zListFolderLongpollArg.__init__r  r  c                    r   r   )r   r  r   r   r   r   r   r   z  r!   z1ListFolderLongpollArg._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r  r   r+   r   r   r   r   r  U  s    


r  c                       r   )
ListFolderLongpollErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.ListFolderLongpollError.reset: Indicates that the cursor has
        been invalidated. Call
        :meth:`dropbox.dropbox_client.Dropbox.files_list_folder` to obtain a new
        cursor.
    r0   Nc                 C   r6   r  r8   r9   r   r   r   r    r;   z ListFolderLongpollError.is_resetc                 C   r6   r<   r8   r9   r   r   r   r=     r;   z ListFolderLongpollError.is_otherc                    r   r   )r   r  r   r   r   r   r   r     r!   z3ListFolderLongpollError._process_custom_annotations)r$   r%   r&   r'   rG   r  r0   r  r=   r   r+   r   r   r   r   r    r   r  c                       r|   )ListFolderLongpollResulta  
    :ivar files.ListFolderLongpollResult.changes: Indicates whether new changes
        are available. If true, call
        :meth:`dropbox.dropbox_client.Dropbox.files_list_folder_continue` to
        retrieve the changes.
    :ivar files.ListFolderLongpollResult.backoff: If present, backoff for at
        least this many seconds before calling
        :meth:`dropbox.dropbox_client.Dropbox.files_list_folder_longpoll` again.
    _changes_value_backoff_valueTNc                 C   r   r   )r   r   r  r  changesbackoff)r   r  r  r   r   r   r     r   z!ListFolderLongpollResult.__init__r  r  ra   c                    r   r   )r   r  r   r   r   r   r   r     r!   z4ListFolderLongpollResult._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r  r   r+   r   r   r   r   r    r)  r  c                       r   )ListFolderResulta  
    :ivar files.ListFolderResult.entries: The files and (direct) subfolders in
        the folder.
    :ivar files.ListFolderResult.cursor: Pass the cursor into
        :meth:`dropbox.dropbox_client.Dropbox.files_list_folder_continue` to see
        what's changed in the folder since your previous query.
    :ivar files.ListFolderResult.has_more: If true, then there are more entries
        available. Pass the cursor to
        :meth:`dropbox.dropbox_client.Dropbox.files_list_folder_continue` to
        retrieve the rest.
    )r   r  _has_more_valueTNc                 C   r   r   )r   r   r   r  r  r   r  has_more)r   r   r  r  r   r   r   r     r   zListFolderResult.__init__r   r  r  c                    r   r   )r   r  r   r   r   r   r   r     r!   z,ListFolderResult._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r   r  r  r   r+   r   r   r   r   r        



r  c                       ^   e Zd ZdZg dZdZ			dddZedZ	ejddd	Z
ed
Z fddZ  ZS )ListRevisionsArgaT  
    :ivar files.ListRevisionsArg.path: The path to the file you want to see the
        revisions of.
    :ivar files.ListRevisionsArg.mode: Determines the behavior of the API in
        listing the revisions for a given file path or id.
    :ivar files.ListRevisionsArg.limit: The maximum number of revision entries
        returned.
    )r   ro   r  TNc                 C   r   r   )r   r   r   ro   r  r   ru   r  )r   r   ru   r  r   r   r   r     r   zListRevisionsArg.__init__r   ru   r{   r  c                    r   r   )r   r  r   r   r   r   r   r   '  r!   z,ListRevisionsArg._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r   ru   r  r   r+   r   r   r   r   r        	


r  c                       r-   )ListRevisionsErrorr/   r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param LookupError val:
        :rtype: ListRevisionsError
        r   r   r2   r   r   r   r   7  r5   zListRevisionsError.pathc                 C   r6   r7   r8   r9   r   r   r   r:   B  r;   zListRevisionsError.is_pathc                 C   r6   r<   r8   r9   r   r   r   r=   J  r;   zListRevisionsError.is_otherc                 C   r>   r?   rA   r9   r   r   r   rD   R  rE   zListRevisionsError.get_pathc                    r   r   )r   r  r   r   r   r   r   r   \  r!   z.ListRevisionsError._process_custom_annotationsrF   r   r   r   r   r  ,  rI   r  c                       r  )ListRevisionsModea  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.ListRevisionsMode.path: Returns revisions with the same file
        path as identified by the latest file entry at the given file path or
        id.
    :ivar files.ListRevisionsMode.id: Returns revisions with the same file id as
        identified by the latest file entry at the given file path or id.
    r0   Nc                 C   r6   r7   r8   r9   r   r   r   r:   v  r;   zListRevisionsMode.is_pathc                 C   r6   )zI
        Check if the union tag is ``id``.

        :rtype: bool
        r   r8   r9   r   r   r   is_id~  r;   zListRevisionsMode.is_idc                 C   r6   r<   r8   r9   r   r   r   r=     r;   zListRevisionsMode.is_otherc                    r   r   )r   r  r   r   r   r   r   r     r!   z-ListRevisionsMode._process_custom_annotations)r$   r%   r&   r'   rG   r   r   r0   r:   r  r=   r   r+   r   r   r   r   r  a      r  c                       r  )ListRevisionsResulta  
    :ivar files.ListRevisionsResult.is_deleted: If the file identified by the
        latest revision in the response is either deleted or moved.
    :ivar files.ListRevisionsResult.server_deleted: The time of deletion if the
        file was deleted.
    :ivar files.ListRevisionsResult.entries: The revisions for the file. Only
        revisions that are not deleted will show up here.
    )_is_deleted_value_server_deleted_valuer   TNc                 C   sJ   t j| _t j| _t j| _|d ur|| _|d ur|| _|d ur#|| _d S d S r   )r   r   r  r  r   r  server_deletedr   )r   r  r   r  r   r   r   r     r   zListRevisionsResult.__init__r  r  ra   r   c                    r   r   )r   r  r   r   r   r   r   r     r!   z/ListRevisionsResult._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r  r   r   r+   r   r   r   r   r    r  r  c                       r   )LockConflictErrorzP
    :ivar files.LockConflictError.lock: The lock that caused the conflict.
    _lock_valueTNc                 C   r   r   )r   r   r  lock)r   r  r   r   r   r     r   zLockConflictError.__init__r  r{   c                    r   r   )r   r  r   r   r   r   r   r     r!   z-LockConflictError._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r   r+   r   r   r   r   r    r   r  c                       r  )LockFileArgzM
    :ivar files.LockFileArg.path: Path in the user's Dropbox to a file.
    r   TNc                 C   r   r   r  r  r   r   r   r     r   zLockFileArg.__init__r   c                    r   r   )r   r  r   r   r   r   r   r     r!   z'LockFileArg._process_custom_annotationsr   r  r   r   r   r   r    r  r  c                       r  )LockFileBatchArgz
    :ivar files.LockFileBatchArg.entries: List of 'entries'. Each 'entry'
        contains a path of the file which will be locked or queried. Duplicate
        path arguments in the batch are considered only once.
    r   TNc                 C   r   r   r   r   r   r   r   r      r   zLockFileBatchArg.__init__r   c                    r   r   )r   r	  r   r   r   r   r   r   	  r!   z,LockFileBatchArg._process_custom_annotationsr   r   r   r   r   r   r	    r  r	  c                       r   )LockFileBatchResultz
    :ivar files.LockFileBatchResult.entries: Each Entry in the 'entries' will
        have '.tag' with the operation status (e.g. success), the metadata for
        the file and the lock state after the operation.
    r   TNc                    r   r   )r   r
  r   r   r   r   r   r   r   r   r   r     r   zLockFileBatchResult.__init__r   c                    r   r   )r   r
  r   r   r   r   r   r   %  r!   z/LockFileBatchResult._process_custom_annotationsr   r   r   r   r   r   r
    r   r
  c                          e Zd ZdZdZdZdZdZdZdZ	dZ
dZedd Zedd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z fddZ  ZS ) LockFileErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar LookupError LockFileError.path_lookup: Could not find the specified
        resource.
    :ivar files.LockFileError.too_many_write_operations: There are too many
        write operations in user's Dropbox. Please retry this request.
    :ivar files.LockFileError.too_many_files: There are too many files in one
        request. Please retry with fewer files.
    :ivar files.LockFileError.no_write_permission: The user does not have
        permissions to change the lock state or access the file.
    :ivar files.LockFileError.cannot_be_locked: Item is a type that cannot be
        locked.
    :ivar files.LockFileError.file_not_shared: Requested file is not currently
        shared.
    :ivar LockConflictError LockFileError.lock_conflict: The user action
        conflicts with an existing lock on the file.
    :ivar files.LockFileError.internal_error: Something went wrong with the job
        on Dropbox's end. You'll need to verify that the action you were taking
        succeeded, and if not, try again. This should happen very rarely.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path_lookup`` tag with
        value ``val``.

        :param LookupError val:
        :rtype: LockFileError
        r   r   r2   r   r   r   r   S  r5   zLockFileError.path_lookupc                 C   r1   )z
        Create an instance of this class set to the ``lock_conflict`` tag with
        value ``val``.

        :param LockConflictError val:
        :rtype: LockFileError
        lock_conflictr   r2   r   r   r   r  ^  r5   zLockFileError.lock_conflictc                 C   r6   r   r8   r9   r   r   r   r   i  r;   zLockFileError.is_path_lookupc                 C   r6   r   r8   r9   r   r   r   r   q  r;   z*LockFileError.is_too_many_write_operationsc                 C   r6   r   r8   r9   r   r   r   r   y  r;   zLockFileError.is_too_many_filesc                 C   r6   zZ
        Check if the union tag is ``no_write_permission``.

        :rtype: bool
        no_write_permissionr8   r9   r   r   r   is_no_write_permission  r;   z$LockFileError.is_no_write_permissionc                 C   r6   )zW
        Check if the union tag is ``cannot_be_locked``.

        :rtype: bool
        cannot_be_lockedr8   r9   r   r   r   is_cannot_be_locked  r;   z!LockFileError.is_cannot_be_lockedc                 C   r6   )zV
        Check if the union tag is ``file_not_shared``.

        :rtype: bool
        file_not_sharedr8   r9   r   r   r   is_file_not_shared  r;   z LockFileError.is_file_not_sharedc                 C   r6   )zT
        Check if the union tag is ``lock_conflict``.

        :rtype: bool
        r  r8   r9   r   r   r   is_lock_conflict  r;   zLockFileError.is_lock_conflictc                 C   r6   zU
        Check if the union tag is ``internal_error``.

        :rtype: bool
        internal_errorr8   r9   r   r   r   is_internal_error  r;   zLockFileError.is_internal_errorc                 C   r6   r<   r8   r9   r   r   r   r=     r;   zLockFileError.is_otherc                 C   r>   )z
        Could not find the specified resource.

        Only call this if :meth:`is_path_lookup` is true.

        :rtype: LookupError
        r   r   r9   r   r   r   r     r   zLockFileError.get_path_lookupc                 C   r>   )z
        The user action conflicts with an existing lock on the file.

        Only call this if :meth:`is_lock_conflict` is true.

        :rtype: LockConflictError
        ztag 'lock_conflict' not set)r  rB   rC   r9   r   r   r   get_lock_conflict  r   zLockFileError.get_lock_conflictc                    r   r   )r   r  r   r   r   r   r   r     r!   z)LockFileError._process_custom_annotations)r$   r%   r&   r'   rG   r   r   r  r  r  r  r0   rH   r   r  r   r   r   r  r  r  r  r  r=   r   r  r   r+   r   r   r   r   r  *  s4    



r  c                       rB  )LockFileResultz
    :ivar files.LockFileResult.metadata: Metadata of the file.
    :ivar files.LockFileResult.lock: The file lock state after the operation.
    r   r  TNc                 C   r   r   )r   r   r   r  r   r  )r   r   r  r   r   r   r     r   zLockFileResult.__init__r   r{   r  c                    r   r   )r   r  r   r   r   r   r   r     r!   z*LockFileResult._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r   r  r   r+   r   r   r   r   r    s    
r  c                       r   )LockFileResultEntryr/   Nc                 C   r1   )z
        Create an instance of this class set to the ``success`` tag with value
        ``val``.

        :param LockFileResult val:
        :rtype: LockFileResultEntry
        r   r   r2   r   r   r   r     r5   zLockFileResultEntry.successc                 C   r1   )z
        Create an instance of this class set to the ``failure`` tag with value
        ``val``.

        :param LockFileError val:
        :rtype: LockFileResultEntry
        r   r   r2   r   r   r   r     r5   zLockFileResultEntry.failurec                 C   r6   r   r8   r9   r   r   r   r     r;   zLockFileResultEntry.is_successc                 C   r6   r   r8   r9   r   r   r   r     r;   zLockFileResultEntry.is_failurec                 C   r>   )z_
        Only call this if :meth:`is_success` is true.

        :rtype: LockFileResult
        r   r   r9   r   r   r   r     rE   zLockFileResultEntry.get_successc                 C   r>   )z^
        Only call this if :meth:`is_failure` is true.

        :rtype: LockFileError
        r   r   r9   r   r   r   r   )  rE   zLockFileResultEntry.get_failurec                    r   r   )r   r  r   r   r   r   r   r   3  r!   z/LockFileResultEntry._process_custom_annotationsr   r   r   r   r   r    r   r  c                       s   e Zd ZdZdZdZdZdZdZdZ	dZ
dZedd Zdd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Z fddZ  ZS )LookupErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar Optional[str] files.LookupError.malformed_path: The given path does
        not satisfy the required path format. Please refer to the :link:`Path
        formats documentation
        https://www.dropbox.com/developers/documentation/http/documentation#path-formats`
        for more information.
    :ivar files.LookupError.not_found: There is nothing at the given path.
    :ivar files.LookupError.not_file: We were expecting a file, but the given
        path refers to something that isn't a file.
    :ivar files.LookupError.not_folder: We were expecting a folder, but the
        given path refers to something that isn't a folder.
    :ivar files.LookupError.restricted_content: The file cannot be transferred
        because the content is restricted. For example, we might restrict a file
        due to legal requirements.
    :ivar files.LookupError.unsupported_content_type: This operation is not
        supported for this content type.
    :ivar files.LookupError.locked: The given path is locked.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``malformed_path`` tag with
        value ``val``.

        :param Optional[str] val:
        :rtype: LookupError
        malformed_pathr   r2   r   r   r   r  `  r5   zLookupError.malformed_pathc                 C   r6   zU
        Check if the union tag is ``malformed_path``.

        :rtype: bool
        r  r8   r9   r   r   r   is_malformed_pathk  r;   zLookupError.is_malformed_pathc                 C   r6   zP
        Check if the union tag is ``not_found``.

        :rtype: bool
        	not_foundr8   r9   r   r   r   is_not_founds  r;   zLookupError.is_not_foundc                 C   r6   )zO
        Check if the union tag is ``not_file``.

        :rtype: bool
        not_filer8   r9   r   r   r   is_not_file{  r;   zLookupError.is_not_filec                 C   r6   )zQ
        Check if the union tag is ``not_folder``.

        :rtype: bool
        
not_folderr8   r9   r   r   r   is_not_folder  r;   zLookupError.is_not_folderc                 C   r6   )zY
        Check if the union tag is ``restricted_content``.

        :rtype: bool
        restricted_contentr8   r9   r   r   r   is_restricted_content  r;   z!LookupError.is_restricted_contentc                 C   r6   )z_
        Check if the union tag is ``unsupported_content_type``.

        :rtype: bool
        unsupported_content_typer8   r9   r   r   r   is_unsupported_content_type  r;   z'LookupError.is_unsupported_content_typec                 C   r6   )zM
        Check if the union tag is ``locked``.

        :rtype: bool
        lockedr8   r9   r   r   r   	is_locked  r;   zLookupError.is_lockedc                 C   r6   r<   r8   r9   r   r   r   r=     r;   zLookupError.is_otherc                 C   r>   a[  
        The given path does not satisfy the required path format. Please refer
        to the `Path formats documentation
        <https://www.dropbox.com/developers/documentation/http/documentation#path-formats>`_
        for more information.

        Only call this if :meth:`is_malformed_path` is true.

        :rtype: Optional[str]
        ztag 'malformed_path' not setr  rB   rC   r9   r   r   r   get_malformed_path     zLookupError.get_malformed_pathc                    r   r   )r   r  r   r   r   r   r   r     r!   z'LookupError._process_custom_annotations)r$   r%   r&   r'   rG   r!  r#  r%  r'  r)  r+  r0   rH   r  r  r"  r$  r&  r(  r*  r,  r=   r/  r   r+   r   r   r   r   r  8  s,    

r  c                       sL   e Zd ZdZdZdZedd Zdd Zdd Z	d	d
 Z
 fddZ  ZS )	MediaInfoa  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.MediaInfo.pending: Indicate the photo/video is still under
        processing and metadata is not available yet.
    :ivar MediaMetadata MediaInfo.metadata: The metadata for the photo/video.
    Nc                 C   r1   )z
        Create an instance of this class set to the ``metadata`` tag with value
        ``val``.

        :param MediaMetadata val:
        :rtype: MediaInfo
        r   r   r2   r   r   r   r     r5   zMediaInfo.metadatac                 C   r6   )zN
        Check if the union tag is ``pending``.

        :rtype: bool
        pendingr8   r9   r   r   r   
is_pending  r;   zMediaInfo.is_pendingc                 C   r6   zO
        Check if the union tag is ``metadata``.

        :rtype: bool
        r   r8   r9   r   r   r   is_metadata  r;   zMediaInfo.is_metadatac                 C   r>   )z
        The metadata for the photo/video.

        Only call this if :meth:`is_metadata` is true.

        :rtype: MediaMetadata
        tag 'metadata' not setr5  rB   rC   r9   r   r   r   get_metadata  r   zMediaInfo.get_metadatac                    r   r   )r   r1  r   r   r   r   r   r     r!   z%MediaInfo._process_custom_annotations)r$   r%   r&   r'   rG   r2  rH   r   r3  r5  r8  r   r+   r   r   r   r   r1        


r1  c                       sj   e Zd ZdZg dZdZ			dddZejdddd	Z	ejd
ddd	Z
ejdddZ fddZ  ZS )MediaMetadataa  
    Metadata for a photo or video.

    :ivar files.MediaMetadata.dimensions: Dimension of the photo/video.
    :ivar files.MediaMetadata.location: The GPS coordinate of the photo/video.
    :ivar files.MediaMetadata.time_taken: The timestamp when the photo/video is
        taken.
    )_dimensions_value_location_value_time_taken_valueFNc                 C   r   r   )r   r   r;  r<  r=  
dimensionslocation
time_takenr   r>  r?  r@  r   r   r   r     r   zMediaMetadata.__init__r>  TrZ   r?  r@  ra   c                    r   r   )r   r:  r   r   r   r   r   r   #  r!   z)MediaMetadata._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r>  r?  r@  r   r+   r   r   r   r   r:    s    	
r:  c                       r-   )
MetadataV2z
    Metadata for a file, folder or other resource types.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``metadata`` tag with value
        ``val``.

        :param Metadata val:
        :rtype: MetadataV2
        r   r   r2   r   r   r   r   5  r5   zMetadataV2.metadatac                 C   r6   r4  r8   r9   r   r   r   r5  @  r;   zMetadataV2.is_metadatac                 C   r6   r<   r8   r9   r   r   r   r=   H  r;   zMetadataV2.is_otherc                 C   r>   )zZ
        Only call this if :meth:`is_metadata` is true.

        :rtype: Metadata
        r6  r7  r9   r   r   r   r8  P  rE   zMetadataV2.get_metadatac                    r   r   )r   rB  r   r   r   r   r   r   Z  r!   z&MetadataV2._process_custom_annotations)r$   r%   r&   r'   rG   r0   rH   r   r5  r=   r8  r   r+   r   r   r   r   rB  (  s    


rB  c                       sn   e Zd ZdZg dZdZ				dddZedZ	ejddd	Z
ejd
dd	ZedZ fddZ  ZS )MinimalFileLinkMetadataad  
    :ivar files.MinimalFileLinkMetadata.url: URL of the shared link.
    :ivar files.MinimalFileLinkMetadata.id: Unique identifier for the linked
        file.
    :ivar files.MinimalFileLinkMetadata.path: Full path in the user's Dropbox.
        This always starts with a slash. This field will only be present only if
        the linked file is in the authenticated user's Dropbox.
    :ivar files.MinimalFileLinkMetadata.rev: A unique identifier for the current
        revision of a file. This field is the same rev as elsewhere in the API
        and can be used to detect changes and avoid conflicts.
    )
_url_valuer~   r   r  TNc                 C   s`   t j| _t j| _t j| _t j| _|d ur|| _|d ur|| _|d ur%|| _|d ur.|| _	d S d S r   )
r   r   rD  r~   r   r  urlr   r   r  )r   rE  r  r   r   r   r   r   r   u  r@  z MinimalFileLinkMetadata.__init__rE  r   ra   r   r  c                    r   r   )r   rC  r   r   r   r   r   r     r!   z3MinimalFileLinkMetadata._process_custom_annotationsrA  )r$   r%   r&   r'   r(   r)   r   r   r*   rE  r   r   r  r   r+   r   r   r   r   rC  _  s    


rC  c                       r	   )RelocationBatchArgBasea>  
    :ivar files.RelocationBatchArgBase.entries: List of entries to be moved or
        copied. Each entry is :class:`RelocationPath`.
    :ivar files.RelocationBatchArgBase.autorename: If there's a conflict with
        any file, have the Dropbox server try to autorename that file to avoid
        the conflict.
    r   rp   TNc                 C   r   r   )r   r   r   rp   r   rv   )r   r   rv   r   r   r   r     r   zRelocationBatchArgBase.__init__r   rv   c                    r   r   )r   rF  r   r   r   r   r   r     r!   z2RelocationBatchArgBase._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r   rv   r   r+   r   r   r   r   rF        	


rF  c                       sH   e Zd ZdZdgZdZ			d
 fdd	ZedZ	 fdd	Z
  ZS )MoveBatchArgz
    :ivar files.MoveBatchArg.allow_ownership_transfer: Allow moves by owner even
        if it would result in an ownership transfer for the content being moved.
        This does not apply to copies.
    _allow_ownership_transfer_valueTNc                    s0   t t| || tj| _|d ur|| _d S d S r   )r   rH  r   r   r   rI  allow_ownership_transfer)r   r   rv   rJ  r   r   r   r     s   
zMoveBatchArg.__init__rJ  c                    r   r   )r   rH  r   r   r   r   r   r     r!   z(MoveBatchArg._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   rJ  r   r+   r   r   r   r   rH    s    
rH  c                       r   )
MoveIntoFamilyErroraA  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.MoveIntoFamilyError.is_shared_folder: Moving shared folder into
        Family Room folder is not allowed.
    r0   Nc                 C   r6   zW
        Check if the union tag is ``is_shared_folder``.

        :rtype: bool
        is_shared_folderr8   r9   r   r   r   is_is_shared_folder  r;   z'MoveIntoFamilyError.is_is_shared_folderc                 C   r6   r<   r8   r9   r   r   r   r=     r;   zMoveIntoFamilyError.is_otherc                    r   r   )r   rK  r   r   r   r   r   r     r!   z/MoveIntoFamilyError._process_custom_annotationsr$   r%   r&   r'   rG   rM  r0   rN  r=   r   r+   r   r   r   r   rK    r   rK  c                       r   )
MoveIntoVaultErrora3  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.MoveIntoVaultError.is_shared_folder: Moving shared folder into
        Vault is not allowed.
    r0   Nc                 C   r6   rL  r8   r9   r   r   r   rN    r;   z&MoveIntoVaultError.is_is_shared_folderc                 C   r6   r<   r8   r9   r   r   r   r=     r;   zMoveIntoVaultError.is_otherc                    r   r   )r   rP  r   r   r   r   r   r   !  r!   z.MoveIntoVaultError._process_custom_annotationsrO  r   r   r   r   rP    r   rP  c                       `   e Zd ZdZdZdZdZdZdZdZ	dd Z
dd Zdd	 Zd
d Zdd Z fddZ  ZS )PaperContentErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.PaperContentError.insufficient_permissions: Your account does
        not have permissions to edit Paper docs.
    :ivar files.PaperContentError.content_malformed: The provided content was
        malformed and cannot be imported to Paper.
    :ivar files.PaperContentError.doc_length_exceeded: The Paper doc would be
        too large, split the content into multiple docs.
    :ivar files.PaperContentError.image_size_exceeded: The imported document
        contains an image that is too large. The current limit is 1MB. This only
        applies to HTML with data URI.
    r0   Nc                 C   r6   )z_
        Check if the union tag is ``insufficient_permissions``.

        :rtype: bool
        insufficient_permissionsr8   r9   r   r   r   is_insufficient_permissionsC  r;   z-PaperContentError.is_insufficient_permissionsc                 C   r6   )zX
        Check if the union tag is ``content_malformed``.

        :rtype: bool
        content_malformedr8   r9   r   r   r   is_content_malformedK  r;   z&PaperContentError.is_content_malformedc                 C   r6   )zZ
        Check if the union tag is ``doc_length_exceeded``.

        :rtype: bool
        doc_length_exceededr8   r9   r   r   r   is_doc_length_exceededS  r;   z(PaperContentError.is_doc_length_exceededc                 C   r6   )zZ
        Check if the union tag is ``image_size_exceeded``.

        :rtype: bool
        image_size_exceededr8   r9   r   r   r   is_image_size_exceeded[  r;   z(PaperContentError.is_image_size_exceededc                 C   r6   r<   r8   r9   r   r   r   r=   c  r;   zPaperContentError.is_otherc                    r   r   )r   rR  r   r   r   r   r   r   k  r!   z-PaperContentError._process_custom_annotations)r$   r%   r&   r'   rG   rS  rU  rW  rY  r0   rT  rV  rX  rZ  r=   r   r+   r   r   r   r   rR  &      rR  c                       r|   )PaperCreateArga-  
    :ivar files.PaperCreateArg.path: The fully qualified path to the location in
        the user's Dropbox where the Paper Doc should be created. This should
        include the document's title and end with .paper.
    :ivar files.PaperCreateArg.import_format: The format of the provided data.
    r   _import_format_valueTNc                 C   r   r   )r   r   r   r]  r   import_format)r   r   r^  r   r   r   r     r   zPaperCreateArg.__init__r   r^  r{   c                    r   r   )r   r\  r   r   r   r   r   r     r!   z*PaperCreateArg._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r   r^  r   r+   r   r   r   r   r\  p  r   r\  c                       sP   e Zd ZdZdZdZdZdZdd Zdd Z	dd Z
d	d
 Z fddZ  ZS )PaperCreateErrorad  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.PaperCreateError.invalid_path: The file could not be saved to
        the specified location.
    :ivar files.PaperCreateError.email_unverified: The user's email must be
        verified to create Paper docs.
    :ivar files.PaperCreateError.invalid_file_extension: The file path must end
        in .paper.
    :ivar files.PaperCreateError.paper_disabled: Paper is disabled for your
        team.
    Nc                 C   r6   )zS
        Check if the union tag is ``invalid_path``.

        :rtype: bool
        invalid_pathr8   r9   r   r   r   is_invalid_path  r;   z PaperCreateError.is_invalid_pathc                 C   r6   )zW
        Check if the union tag is ``email_unverified``.

        :rtype: bool
        email_unverifiedr8   r9   r   r   r   is_email_unverified  r;   z$PaperCreateError.is_email_unverifiedc                 C   r6   )z]
        Check if the union tag is ``invalid_file_extension``.

        :rtype: bool
        invalid_file_extensionr8   r9   r   r   r   is_invalid_file_extension  r;   z*PaperCreateError.is_invalid_file_extensionc                 C   r6   )zU
        Check if the union tag is ``paper_disabled``.

        :rtype: bool
        paper_disabledr8   r9   r   r   r   is_paper_disabled  r;   z"PaperCreateError.is_paper_disabledc                    r   r   )r   r_  r   r   r   r   r   r     r!   z,PaperCreateError._process_custom_annotations)r$   r%   r&   r'   r`  rb  rd  rf  ra  rc  re  rg  r   r+   r   r   r   r   r_    s    r_  c                       sf   e Zd ZdZg dZdZ				dddZedZ	edZ
ed	Zed
Z fddZ  ZS )PaperCreateResulta{  
    :ivar files.PaperCreateResult.url: URL to open the Paper Doc.
    :ivar files.PaperCreateResult.result_path: The fully qualified path the
        Paper Doc was actually created at.
    :ivar files.PaperCreateResult.file_id: The id to use in Dropbox APIs when
        referencing the Paper Doc.
    :ivar files.PaperCreateResult.paper_revision: The current doc revision.
    )rD  _result_path_value_file_id_valuer;  TNc                 C   r<  r   )
r   r   rD  ri  rj  r;  rE  result_pathfile_idr?  )r   rE  rk  rl  r?  r   r   r   r     r@  zPaperCreateResult.__init__rE  rk  rl  r?  c                    r   r   )r   rh  r   r   r   r   r   r     r!   z-PaperCreateResult._process_custom_annotationsrA  )r$   r%   r&   r'   r(   r)   r   r   r*   rE  rk  rl  r?  r   r+   r   r   r   r   rh    s    	




rh  c                       rQ  )PaperDocUpdatePolicya&  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.PaperDocUpdatePolicy.update: Sets the doc content to the
        provided content if the provided paper_revision matches the latest doc
        revision. Otherwise, returns an error.
    :ivar files.PaperDocUpdatePolicy.overwrite: Sets the doc content to the
        provided content without checking paper_revision.
    :ivar files.PaperDocUpdatePolicy.prepend: Adds the provided content to the
        beginning of the doc without checking paper_revision.
    :ivar files.PaperDocUpdatePolicy.append: Adds the provided content to the
        end of the doc without checking paper_revision.
    r0   Nc                 C   r6   zM
        Check if the union tag is ``update``.

        :rtype: bool
        updater8   r9   r   r   r   	is_update%  r;   zPaperDocUpdatePolicy.is_updatec                 C   r6   zP
        Check if the union tag is ``overwrite``.

        :rtype: bool
        	overwriter8   r9   r   r   r   is_overwrite-  r;   z!PaperDocUpdatePolicy.is_overwritec                 C   r6   )zN
        Check if the union tag is ``prepend``.

        :rtype: bool
        prependr8   r9   r   r   r   
is_prepend5  r;   zPaperDocUpdatePolicy.is_prependc                 C   r6   )zM
        Check if the union tag is ``append``.

        :rtype: bool
        appendr8   r9   r   r   r   	is_append=  r;   zPaperDocUpdatePolicy.is_appendc                 C   r6   r<   r8   r9   r   r   r   r=   E  r;   zPaperDocUpdatePolicy.is_otherc                    r   r   )r   rm  r   r   r   r   r   r   M  r!   z0PaperDocUpdatePolicy._process_custom_annotations)r$   r%   r&   r'   rG   ro  rr  rt  rv  r0   rp  rs  ru  rw  r=   r   r+   r   r   r   r   rm    r[  rm  c                       sr   e Zd ZdZg dZdZ				dddZedZ	ejddd	Z
ejd
dd	ZejdddZ fddZ  ZS )PaperUpdateArgaD  
    :ivar files.PaperUpdateArg.path: Path in the user's Dropbox to update. The
        path must correspond to a Paper doc or an error will be returned.
    :ivar files.PaperUpdateArg.import_format: The format of the provided data.
    :ivar files.PaperUpdateArg.doc_update_policy: How the provided content
        should be applied to the doc.
    :ivar files.PaperUpdateArg.paper_revision: The latest doc revision. Required
        when doc_update_policy is update. This value must match the current
        revision of the doc or error revision_mismatch will be returned.
    )r   r]  _doc_update_policy_valuer;  TNc                 C   r<  r   )
r   r   r   r]  ry  r;  r   r^  doc_update_policyr?  )r   r   r^  rz  r?  r   r   r   r   g  r@  zPaperUpdateArg.__init__r   r^  r{   rz  r?  ra   c                    r   r   )r   rx  r   r   r   r   r   r     r!   z*PaperUpdateArg._process_custom_annotationsrA  )r$   r%   r&   r'   r(   r)   r   r   r*   r   r^  rz  r?  r   r+   r   r   r   r   rx  R      

rx  c                       s`   e Zd ZdZdZdZdZedd Zdd Z	dd Z
d	d
 Zdd Zdd Z fddZ  ZS )PaperUpdateErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.PaperUpdateError.revision_mismatch: The provided revision does
        not match the document head.
    :ivar files.PaperUpdateError.doc_archived: This operation is not allowed on
        archived Paper docs.
    :ivar files.PaperUpdateError.doc_deleted: This operation is not allowed on
        deleted Paper docs.
    Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param LookupError val:
        :rtype: PaperUpdateError
        r   r   r2   r   r   r   r     r5   zPaperUpdateError.pathc                 C   r6   r7   r8   r9   r   r   r   r:     r;   zPaperUpdateError.is_pathc                 C   r6   )zX
        Check if the union tag is ``revision_mismatch``.

        :rtype: bool
        revision_mismatchr8   r9   r   r   r   is_revision_mismatch  r;   z%PaperUpdateError.is_revision_mismatchc                 C   r6   )zS
        Check if the union tag is ``doc_archived``.

        :rtype: bool
        doc_archivedr8   r9   r   r   r   is_doc_archived  r;   z PaperUpdateError.is_doc_archivedc                 C   r6   )zR
        Check if the union tag is ``doc_deleted``.

        :rtype: bool
        doc_deletedr8   r9   r   r   r   is_doc_deleted  r;   zPaperUpdateError.is_doc_deletedc                 C   r>   r?   rA   r9   r   r   r   rD     rE   zPaperUpdateError.get_pathc                    r   r   )r   r|  r   r   r   r   r   r     r!   z,PaperUpdateError._process_custom_annotations)r$   r%   r&   r'   r}  r  r  rH   r   r:   r~  r  r  rD   r   r+   r   r   r   r   r|    s    


r|  c                       r  )PaperUpdateResultzQ
    :ivar files.PaperUpdateResult.paper_revision: The current doc revision.
    r;  TNc                 C   r   r   )r   r   r;  r?  )r   r?  r   r   r   r     r   zPaperUpdateResult.__init__r?  c                    r   r   )r   r  r   r   r   r   r   r     r!   z-PaperUpdateResult._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r?  r   r+   r   r   r   r   r    r  r  c                       r   )
PathOrLinkr/   r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param str val:
        :rtype: PathOrLink
        r   r   r2   r   r   r   r     r5   zPathOrLink.pathc                 C   r1   )z
        Create an instance of this class set to the ``link`` tag with value
        ``val``.

        :param SharedLinkFileInfo val:
        :rtype: PathOrLink
        r  r   r2   r   r   r   r    r5   zPathOrLink.linkc                 C   r6   r7   r8   r9   r   r   r   r:     r;   zPathOrLink.is_pathc                 C   r6   )zK
        Check if the union tag is ``link``.

        :rtype: bool
        r  r8   r9   r   r   r   is_link  r;   zPathOrLink.is_linkc                 C   r6   r<   r8   r9   r   r   r   r=   #  r;   zPathOrLink.is_otherc                 C   r>   )zQ
        Only call this if :meth:`is_path` is true.

        :rtype: str
        r@   rA   r9   r   r   r   rD   +  rE   zPathOrLink.get_pathc                 C   r>   )z`
        Only call this if :meth:`is_link` is true.

        :rtype: SharedLinkFileInfo
        ztag 'link' not set)r  rB   rC   r9   r   r   r   get_link5  rE   zPathOrLink.get_linkc                    r   r   )r   r  r   r   r   r   r   r   ?  r!   z&PathOrLink._process_custom_annotations)r$   r%   r&   r'   rG   r0   rH   r   r  r:   r  r=   rD   r  r   r+   r   r   r   r   r    r  r  c                       r	   )
PathToTagszu
    :ivar files.PathToTags.path: Path of the item.
    :ivar files.PathToTags.tags: Tags assigned to this item.
    r   _tags_valueTNc                 C   r   r   )r   r   r   r  r   tags)r   r   r  r   r   r   r   Q  r   zPathToTags.__init__r   r  c                    r   r   )r   r  r   r   r   r   r   r   a  r!   z&PathToTags._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r   r  r   r+   r   r   r   r   r  D      


r  c                       s<   e Zd ZdZg ZdZ			d fdd	Z fddZ  ZS )	PhotoMetadataz
    Metadata for a photo.
    FNc                    r   r   )r   r  r   rA  r   r   r   r   p  s   zPhotoMetadata.__init__c                    r   r   )r   r  r   r   r   r   r   r   x  r!   z)PhotoMetadata._process_custom_annotationsr   r  r   r   r   r   r  f  s    r  c                       r|   )
PreviewArgz
    :ivar files.PreviewArg.path: The path of the file to preview.
    :ivar files.PreviewArg.rev: Please specify revision in ``path`` instead.
    r   r  TNc                 C   r   r   r  r  r   r   r   r     r   zPreviewArg.__init__r   r  ra   c                    r   r   )r   r  r   r   r   r   r   r     r!   z&PreviewArg._process_custom_annotationsr"   r  r   r   r   r   r  }  r  r  c                       d   e Zd ZdZdZdZdZdZedd Z	dd Z
dd Zd	d
 Zdd Zdd Z fddZ  ZS )PreviewErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar LookupError PreviewError.path: An error occurs when downloading
        metadata for the file.
    :ivar files.PreviewError.in_progress: This preview generation is still in
        progress and the file is not ready  for preview yet.
    :ivar files.PreviewError.unsupported_extension: The file extension is not
        supported preview generation.
    :ivar files.PreviewError.unsupported_content: The file content is not
        supported for preview generation.
    Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param LookupError val:
        :rtype: PreviewError
        r   r   r2   r   r   r   r     r5   zPreviewError.pathc                 C   r6   r7   r8   r9   r   r   r   r:     r;   zPreviewError.is_pathc                 C   r6   zR
        Check if the union tag is ``in_progress``.

        :rtype: bool
        in_progressr8   r9   r   r   r   is_in_progress  r;   zPreviewError.is_in_progressc                 C   r6   z\
        Check if the union tag is ``unsupported_extension``.

        :rtype: bool
        unsupported_extensionr8   r9   r   r   r   is_unsupported_extension  r;   z%PreviewError.is_unsupported_extensionc                 C   r6   )zZ
        Check if the union tag is ``unsupported_content``.

        :rtype: bool
        unsupported_contentr8   r9   r   r   r   is_unsupported_content  r;   z#PreviewError.is_unsupported_contentc                 C   r>   )z
        An error occurs when downloading metadata for the file.

        Only call this if :meth:`is_path` is true.

        :rtype: LookupError
        r@   rA   r9   r   r   r   rD     r   zPreviewError.get_pathc                    r   r   )r   r  r   r   r   r   r   r     r!   z(PreviewError._process_custom_annotations)r$   r%   r&   r'   rG   r  r  r  rH   r   r:   r  r  r  rD   r   r+   r   r   r   r   r        

r  c                       sZ   e Zd ZdZddgZdZ		dddZejdd	d	d
Z	ejdd	d	d
Z
 fddZ  ZS )PreviewResulta  
    :ivar files.PreviewResult.file_metadata: Metadata corresponding to the file
        received as an argument. Will be populated if the endpoint is called
        with a path (ReadPath).
    :ivar files.PreviewResult.link_metadata: Minimal metadata corresponding to
        the file received as an argument. Will be populated if the endpoint is
        called using a shared link (SharedLinkFileInfo).
    rE  _link_metadata_valueFNc                 C   r   r   )r   r   rE  r  rG  link_metadata)r   rG  r  r   r   r   r     r   zPreviewResult.__init__rG  TrZ   r  c                    r   r   )r   r  r   r   r   r   r   r     r!   z)PreviewResult._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   rG  r  r   r+   r   r   r   r   r    s    

r  c                       r	   )RelocationPathz
    :ivar files.RelocationPath.from_path: Path in the user's Dropbox to be
        copied or moved.
    :ivar files.RelocationPath.to_path: Path in the user's Dropbox that is the
        destination.
    _from_path_value_to_path_valueTNc                 C   r   r   )r   r   r  r  	from_pathto_path)r   r  r  r   r   r   r   (  r   zRelocationPath.__init__r  r  c                    r   r   )r   r  r   r   r   r   r   r   8  r!   z*RelocationPath._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r  r   r+   r   r   r   r   r    r  r  c                       sb   e Zd ZdZg dZdZ					d fdd	ZedZ	edZ
ed	Z fd
dZ  ZS )RelocationArga  
    :ivar files.RelocationArg.allow_shared_folder: This flag has no effect.
    :ivar files.RelocationArg.autorename: If there's a conflict, have the
        Dropbox server try to autorename the file to avoid the conflict.
    :ivar files.RelocationArg.allow_ownership_transfer: Allow moves by owner
        even if it would result in an ownership transfer for the content being
        moved. This does not apply to copies.
    )_allow_shared_folder_valuerp   rI  TNc                    s\   t t| || tj| _tj| _tj| _|d ur|| _|d ur#|| _	|d ur,|| _
d S d S r   )r   r  r   r   r   r  rp   rI  allow_shared_folderrv   rJ  )r   r  r  r  rv   rJ  r   r   r   r   O  s   
zRelocationArg.__init__r  rv   rJ  c                    r   r   )r   r  r   r   r   r   r   r   j  r!   z)RelocationArg._process_custom_annotationsr]   )r$   r%   r&   r'   r(   r)   r   r   r*   r  rv   rJ  r   r+   r   r   r   r   r  =  s    	


r  c                       sV   e Zd ZdZddgZdZ				d fdd	ZedZ	ed	Z
 fd
dZ  ZS )RelocationBatchArga%  
    :ivar files.RelocationBatchArg.allow_shared_folder: This flag has no effect.
    :ivar files.RelocationBatchArg.allow_ownership_transfer: Allow moves by
        owner even if it would result in an ownership transfer for the content
        being moved. This does not apply to copies.
    r  rI  TNc                    sF   t t| || tj| _tj| _|d ur|| _|d ur!|| _d S d S r   )	r   r  r   r   r   r  rI  r  rJ  )r   r   rv   r  rJ  r   r   r   r   ~  s   
zRelocationBatchArg.__init__r  rJ  c                    r   r   )r   r  r   r   r   r   r   r     r!   z.RelocationBatchArg._process_custom_annotationsrA  )r$   r%   r&   r'   r(   r)   r   r   r*   r  rJ  r   r+   r   r   r   r   r  o  s    

r  c                       s(  e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZdZdZedd Zedd Zedd	 Zed
d Zedd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Z d&d' Z!d(d) Z"d*d+ Z#d,d- Z$d.d/ Z%d0d1 Z&d2d3 Z'd4d5 Z( fd6d7Z)  Z*S )8RelocationErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.RelocationError.cant_copy_shared_folder: Shared folders can't be
        copied.
    :ivar files.RelocationError.cant_nest_shared_folder: Your move operation
        would result in nested shared folders.  This is not allowed.
    :ivar files.RelocationError.cant_move_folder_into_itself: You cannot move a
        folder into itself.
    :ivar files.RelocationError.too_many_files: The operation would involve more
        than 10,000 files and folders.
    :ivar files.RelocationError.duplicated_or_nested_paths: There are
        duplicated/nested paths among ``RelocationArg.from_path`` and
        ``RelocationArg.to_path``.
    :ivar files.RelocationError.cant_transfer_ownership: Your move operation
        would result in an ownership transfer. You may reissue the request with
        the field ``RelocationArg.allow_ownership_transfer`` to true.
    :ivar files.RelocationError.insufficient_quota: The current user does not
        have enough space to move or copy the files.
    :ivar files.RelocationError.internal_error: Something went wrong with the
        job on Dropbox's end. You'll need to verify that the action you were
        taking succeeded, and if not, try again. This should happen very rarely.
    :ivar files.RelocationError.cant_move_shared_folder: Can't move the shared
        folder to the given destination.
    :ivar MoveIntoVaultError RelocationError.cant_move_into_vault: Some content
        cannot be moved into Vault under certain circumstances, see detailed
        error.
    :ivar MoveIntoFamilyError RelocationError.cant_move_into_family: Some
        content cannot be moved into the Family Room folder under certain
        circumstances, see detailed error.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``from_lookup`` tag with
        value ``val``.

        :param LookupError val:
        :rtype: RelocationError
        from_lookupr   r2   r   r   r   r    r5   zRelocationError.from_lookupc                 C   r1   )z
        Create an instance of this class set to the ``from_write`` tag with
        value ``val``.

        :param WriteError val:
        :rtype: RelocationError
        
from_writer   r2   r   r   r   r    r5   zRelocationError.from_writec                 C   r1   )z
        Create an instance of this class set to the ``to`` tag with value
        ``val``.

        :param WriteError val:
        :rtype: RelocationError
        tor   r2   r   r   r   r    r5   zRelocationError.toc                 C   r1   )z
        Create an instance of this class set to the ``cant_move_into_vault`` tag
        with value ``val``.

        :param MoveIntoVaultError val:
        :rtype: RelocationError
        cant_move_into_vaultr   r2   r   r   r   r    r5   z$RelocationError.cant_move_into_vaultc                 C   r1   )z
        Create an instance of this class set to the ``cant_move_into_family``
        tag with value ``val``.

        :param MoveIntoFamilyError val:
        :rtype: RelocationError
        cant_move_into_familyr   r2   r   r   r   r    r5   z%RelocationError.cant_move_into_familyc                 C   r6   )zR
        Check if the union tag is ``from_lookup``.

        :rtype: bool
        r  r8   r9   r   r   r   is_from_lookup  r;   zRelocationError.is_from_lookupc                 C   r6   )zQ
        Check if the union tag is ``from_write``.

        :rtype: bool
        r  r8   r9   r   r   r   is_from_write  r;   zRelocationError.is_from_writec                 C   r6   )zI
        Check if the union tag is ``to``.

        :rtype: bool
        r  r8   r9   r   r   r   is_to  r;   zRelocationError.is_toc                 C   r6   )z^
        Check if the union tag is ``cant_copy_shared_folder``.

        :rtype: bool
        cant_copy_shared_folderr8   r9   r   r   r   is_cant_copy_shared_folder  r;   z*RelocationError.is_cant_copy_shared_folderc                 C   r6   )z^
        Check if the union tag is ``cant_nest_shared_folder``.

        :rtype: bool
        cant_nest_shared_folderr8   r9   r   r   r   is_cant_nest_shared_folder'  r;   z*RelocationError.is_cant_nest_shared_folderc                 C   r6   )zc
        Check if the union tag is ``cant_move_folder_into_itself``.

        :rtype: bool
        cant_move_folder_into_itselfr8   r9   r   r   r   is_cant_move_folder_into_itself/  r;   z/RelocationError.is_cant_move_folder_into_itselfc                 C   r6   r   r8   r9   r   r   r   r   7  r;   z!RelocationError.is_too_many_filesc                 C   r6   )za
        Check if the union tag is ``duplicated_or_nested_paths``.

        :rtype: bool
        duplicated_or_nested_pathsr8   r9   r   r   r   is_duplicated_or_nested_paths?  r;   z-RelocationError.is_duplicated_or_nested_pathsc                 C   r6   )z^
        Check if the union tag is ``cant_transfer_ownership``.

        :rtype: bool
        cant_transfer_ownershipr8   r9   r   r   r   is_cant_transfer_ownershipG  r;   z*RelocationError.is_cant_transfer_ownershipc                 C   r6   )zY
        Check if the union tag is ``insufficient_quota``.

        :rtype: bool
        insufficient_quotar8   r9   r   r   r   is_insufficient_quotaO  r;   z%RelocationError.is_insufficient_quotac                 C   r6   r  r8   r9   r   r   r   r  W  r;   z!RelocationError.is_internal_errorc                 C   r6   )z^
        Check if the union tag is ``cant_move_shared_folder``.

        :rtype: bool
        cant_move_shared_folderr8   r9   r   r   r   is_cant_move_shared_folder_  r;   z*RelocationError.is_cant_move_shared_folderc                 C   r6   )z[
        Check if the union tag is ``cant_move_into_vault``.

        :rtype: bool
        r  r8   r9   r   r   r   is_cant_move_into_vaultg  r;   z'RelocationError.is_cant_move_into_vaultc                 C   r6   )z\
        Check if the union tag is ``cant_move_into_family``.

        :rtype: bool
        r  r8   r9   r   r   r   is_cant_move_into_familyo  r;   z(RelocationError.is_cant_move_into_familyc                 C   r6   r<   r8   r9   r   r   r   r=   w  r;   zRelocationError.is_otherc                 C   r>   )z`
        Only call this if :meth:`is_from_lookup` is true.

        :rtype: LookupError
        ztag 'from_lookup' not set)r  rB   rC   r9   r   r   r   get_from_lookup  rE   zRelocationError.get_from_lookupc                 C   r>   )z^
        Only call this if :meth:`is_from_write` is true.

        :rtype: WriteError
        ztag 'from_write' not set)r  rB   rC   r9   r   r   r   get_from_write  rE   zRelocationError.get_from_writec                 C   r>   )zV
        Only call this if :meth:`is_to` is true.

        :rtype: WriteError
        ztag 'to' not set)r  rB   rC   r9   r   r   r   get_to  rE   zRelocationError.get_toc                 C   r>   )z
        Some content cannot be moved into Vault under certain circumstances, see
        detailed error.

        Only call this if :meth:`is_cant_move_into_vault` is true.

        :rtype: MoveIntoVaultError
        z"tag 'cant_move_into_vault' not set)r  rB   rC   r9   r   r   r   get_cant_move_into_vault     	z(RelocationError.get_cant_move_into_vaultc                 C   r>   )z
        Some content cannot be moved into the Family Room folder under certain
        circumstances, see detailed error.

        Only call this if :meth:`is_cant_move_into_family` is true.

        :rtype: MoveIntoFamilyError
        z#tag 'cant_move_into_family' not set)r  rB   rC   r9   r   r   r   get_cant_move_into_family  r  z)RelocationError.get_cant_move_into_familyc                    r   r   )r   r  r   r   r   r   r   r     r!   z+RelocationError._process_custom_annotations)+r$   r%   r&   r'   rG   r  r  r  r   r  r  r  r  r  r0   rH   r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r=   r  r  r  r  r  r   r+   r   r   r   r   r    sX    "












r  c                       rJ   )RelocationBatchErrora`  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.RelocationBatchError.too_many_write_operations: There are too
        many write operations in user's Dropbox. Please retry this request.
    Nc                 C   r6   r   r8   r9   r   r   r   r     r;   z1RelocationBatchError.is_too_many_write_operationsc                    r   r   )r   r  r   r   r   r   r   r     r!   z0RelocationBatchError._process_custom_annotations)r$   r%   r&   r'   r   r   r   r+   r   r   r   r   r    rN   r  c                       r  )RelocationBatchErrorEntrya  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar RelocationError RelocationBatchErrorEntry.relocation_error: User
        errors that retry won't help.
    :ivar files.RelocationBatchErrorEntry.internal_error: Something went wrong
        with the job on Dropbox's end. You'll need to verify that the action you
        were taking succeeded, and if not, try again. This should happen very
        rarely.
    :ivar files.RelocationBatchErrorEntry.too_many_write_operations: There are
        too many write operations in user's Dropbox. Please retry this request.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``relocation_error`` tag
        with value ``val``.

        :param RelocationError val:
        :rtype: RelocationBatchErrorEntry
        relocation_errorr   r2   r   r   r   r    r5   z*RelocationBatchErrorEntry.relocation_errorc                 C   r6   )zW
        Check if the union tag is ``relocation_error``.

        :rtype: bool
        r  r8   r9   r   r   r   is_relocation_error  r;   z-RelocationBatchErrorEntry.is_relocation_errorc                 C   r6   r  r8   r9   r   r   r   r    r;   z+RelocationBatchErrorEntry.is_internal_errorc                 C   r6   r   r8   r9   r   r   r   r   	  r;   z6RelocationBatchErrorEntry.is_too_many_write_operationsc                 C   r6   r<   r8   r9   r   r   r   r=     r;   z"RelocationBatchErrorEntry.is_otherc                 C   r>   )z
        User errors that retry won't help.

        Only call this if :meth:`is_relocation_error` is true.

        :rtype: RelocationError
        ztag 'relocation_error' not set)r  rB   rC   r9   r   r   r   get_relocation_error  r   z.RelocationBatchErrorEntry.get_relocation_errorc                    r   r   )r   r  r   r   r   r   r   r   %  r!   z5RelocationBatchErrorEntry._process_custom_annotations)r$   r%   r&   r'   rG   r  r   r0   rH   r  r  r  r   r=   r  r   r+   r   r   r   r   r    r  r  c                       X   e Zd ZdZedd Zedd Zdd Zdd	 Zd
d Z	dd Z
 fddZ  ZS )RelocationBatchJobStatusa  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar RelocationBatchResult RelocationBatchJobStatus.complete: The copy or
        move batch job has finished.
    :ivar RelocationBatchError RelocationBatchJobStatus.failed: The copy or move
        batch job has failed with exception.
    c                 C   r1   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param RelocationBatchResult val:
        :rtype: RelocationBatchJobStatus
        r   r   r2   r   r   r   r   6  r5   z!RelocationBatchJobStatus.completec                 C   r1   )z
        Create an instance of this class set to the ``failed`` tag with value
        ``val``.

        :param RelocationBatchError val:
        :rtype: RelocationBatchJobStatus
        r   r   r2   r   r   r   r   A  r5   zRelocationBatchJobStatus.failedc                 C   r6   r   r8   r9   r   r   r   r   L  r;   z$RelocationBatchJobStatus.is_completec                 C   r6   r   r8   r9   r   r   r   r   T  r;   z"RelocationBatchJobStatus.is_failedc                 C   r>   )z
        The copy or move batch job has finished.

        Only call this if :meth:`is_complete` is true.

        :rtype: RelocationBatchResult
        r   r   r9   r   r   r   r   \  r   z%RelocationBatchJobStatus.get_completec                 C   r>   )z
        The copy or move batch job has failed with exception.

        Only call this if :meth:`is_failed` is true.

        :rtype: RelocationBatchError
        r   r   r9   r   r   r   r   h  r   z#RelocationBatchJobStatus.get_failedc                    r   r   )r   r  r   r   r   r   r   r   t  r!   z4RelocationBatchJobStatus._process_custom_annotationsr$   r%   r&   r'   rH   r   r   r   r   r   r   r   r+   r   r   r   r   r  *  s    



r  c                       r-   )RelocationBatchLaunch  
    Result returned by :meth:`dropbox.dropbox_client.Dropbox.files_copy_batch`
    or :meth:`dropbox.dropbox_client.Dropbox.files_move_batch` that may either
    launch an asynchronous job or complete synchronously.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param RelocationBatchResult val:
        :rtype: RelocationBatchLaunch
        r   r   r2   r   r   r   r     r5   zRelocationBatchLaunch.completec                 C   r6   r   r8   r9   r   r   r   r     r;   z!RelocationBatchLaunch.is_completec                 C   r6   r<   r8   r9   r   r   r   r=     r;   zRelocationBatchLaunch.is_otherc                 C   r>   )zg
        Only call this if :meth:`is_complete` is true.

        :rtype: RelocationBatchResult
        r   r   r9   r   r   r   r     rE   z"RelocationBatchLaunch.get_completec                    r   r   )r   r  r   r   r   r   r   r     r!   z1RelocationBatchLaunch._process_custom_annotationsr   r   r   r   r   r  y  r   r  c                       s@   e Zd ZdgZdZ	d	 fdd	ZedZ fddZ	  Z
S )
RelocationBatchResultr   TNc                    r   r   )r   r  r   r   r   r   r   r   r   r   r   r     r   zRelocationBatchResult.__init__r   c                    r   r   )r   r  r   r   r   r   r   r     r!   z1RelocationBatchResult._process_custom_annotationsr   r   r   r   r   r   r    s    
r  c                       r   )RelocationBatchResultDatazc
    :ivar files.RelocationBatchResultData.metadata: Metadata of the relocated
        object.
    r   TNc                 C   r   r   r   r   r   r   r   r     r   z"RelocationBatchResultData.__init__r   r{   c                    r   r   )r   r  r   r   r   r   r   r     r!   z5RelocationBatchResultData._process_custom_annotationsr   r   r   r   r   r   r    r   r  c                       r   )RelocationBatchResultEntryr/   r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``success`` tag with value
        ``val``.

        :param Metadata val:
        :rtype: RelocationBatchResultEntry
        r   r   r2   r   r   r   r     r5   z"RelocationBatchResultEntry.successc                 C   r1   )z
        Create an instance of this class set to the ``failure`` tag with value
        ``val``.

        :param RelocationBatchErrorEntry val:
        :rtype: RelocationBatchResultEntry
        r   r   r2   r   r   r   r     r5   z"RelocationBatchResultEntry.failurec                 C   r6   r   r8   r9   r   r   r   r     r;   z%RelocationBatchResultEntry.is_successc                 C   r6   r   r8   r9   r   r   r   r     r;   z%RelocationBatchResultEntry.is_failurec                 C   r6   r<   r8   r9   r   r   r   r=     r;   z#RelocationBatchResultEntry.is_otherc                 C   r>   )zY
        Only call this if :meth:`is_success` is true.

        :rtype: Metadata
        r   r   r9   r   r   r   r     rE   z&RelocationBatchResultEntry.get_successc                 C   r>   )zj
        Only call this if :meth:`is_failure` is true.

        :rtype: RelocationBatchErrorEntry
        r   r   r9   r   r   r   r   &  rE   z&RelocationBatchResultEntry.get_failurec                    r   r   )r   r  r   r   r   r   r   r   0  r!   z6RelocationBatchResultEntry._process_custom_annotationsr  r   r   r   r   r    r  r  c                       rf   )
RelocationBatchV2JobStatusa)  
    Result returned by
    :meth:`dropbox.dropbox_client.Dropbox.files_copy_batch_check` or
    :meth:`dropbox.dropbox_client.Dropbox.files_move_batch_check` that may
    either be in progress or completed with result for each entry.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar RelocationBatchV2Result RelocationBatchV2JobStatus.complete: The copy
        or move batch job has finished.
    c                 C   r1   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param RelocationBatchV2Result val:
        :rtype: RelocationBatchV2JobStatus
        r   r   r2   r   r   r   r   D  r5   z#RelocationBatchV2JobStatus.completec                 C   r6   r   r8   r9   r   r   r   r   O  r;   z&RelocationBatchV2JobStatus.is_completec                 C   r>   )z
        The copy or move batch job has finished.

        Only call this if :meth:`is_complete` is true.

        :rtype: RelocationBatchV2Result
        r   r   r9   r   r   r   r   W  r   z'RelocationBatchV2JobStatus.get_completec                    r   r   )r   r  r   r   r   r   r   r   c  r!   z6RelocationBatchV2JobStatus._process_custom_annotations
r$   r%   r&   r'   rH   r   r   r   r   r+   r   r   r   r   r  5  s    

r  c                       rf   )
RelocationBatchV2Launchr  c                 C   r1   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param RelocationBatchV2Result val:
        :rtype: RelocationBatchV2Launch
        r   r   r2   r   r   r   r   s  r5   z RelocationBatchV2Launch.completec                 C   r6   r   r8   r9   r   r   r   r   ~  r;   z#RelocationBatchV2Launch.is_completec                 C   r>   )zi
        Only call this if :meth:`is_complete` is true.

        :rtype: RelocationBatchV2Result
        r   r   r9   r   r   r   r     rE   z$RelocationBatchV2Launch.get_completec                    r   r   )r   r  r   r   r   r   r   r     r!   z3RelocationBatchV2Launch._process_custom_annotationsr  r   r   r   r   r  h  s    



r  c                       r   )RelocationBatchV2Resultz
    :ivar files.RelocationBatchV2Result.entries: Each entry in
        CopyBatchArg.entries or ``MoveBatchArg.entries`` will appear at the same
        position inside ``RelocationBatchV2Result.entries``.
    r   TNc                    r   r   )r   r  r   r   r   r   r   r   r   r   r   r     r   z RelocationBatchV2Result.__init__r   c                    r   r   )r   r  r   r   r   r   r   r     r!   z3RelocationBatchV2Result._process_custom_annotationsr   r   r   r   r   r   r    r   r  c                       r   )RelocationResultzR
    :ivar files.RelocationResult.metadata: Metadata of the relocated object.
    r   TNc                    r   r   )r   r  r   r   r   r   r   r   r   r   r   r     r   zRelocationResult.__init__r   r{   c                    r   r   )r   r  r   r   r   r   r   r     r!   z,RelocationResult._process_custom_annotationsr   r   r   r   r   r   r    r   r  c                       r	   )RemoveTagArgz
    :ivar files.RemoveTagArg.path: Path to the item to tag.
    :ivar files.RemoveTagArg.tag_text: The tag to remove. Will be automatically
        converted to lowercase letters.
    r   r   TNc                 C   r   r   r   r   r   r   r   r     r   zRemoveTagArg.__init__r   r   c                    r   r   )r   r  r   r   r   r   r   r     r!   z(RemoveTagArg._process_custom_annotationsr"   r#   r   r   r   r   r    r,   r  c                       rJ   )RemoveTagErrora#  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.RemoveTagError.tag_not_present: That tag doesn't exist at this
        path.
    Nc                 C   r6   )zV
        Check if the union tag is ``tag_not_present``.

        :rtype: bool
        tag_not_presentr8   r9   r   r   r   is_tag_not_present  r;   z!RemoveTagError.is_tag_not_presentc                    r   r   )r   r  r   r   r   r   r   r     r!   z*RemoveTagError._process_custom_annotations)r$   r%   r&   r'   r  r  r   r+   r   r   r   r   r    rN   r  c                       r	   )
RestoreArgz
    :ivar files.RestoreArg.path: The path to save the restored file.
    :ivar files.RestoreArg.rev: The revision to restore.
    r   r  TNc                 C   r   r   r  r  r   r   r   r     r   zRestoreArg.__init__r   r  c                    r   r   )r   r  r   r   r   r   r   r   %  r!   z&RestoreArg._process_custom_annotationsr"   r  r   r   r   r   r    r  r  c                       r   )RestoreErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar LookupError RestoreError.path_lookup: An error occurs when downloading
        metadata for the file.
    :ivar WriteError RestoreError.path_write: An error occurs when trying to
        restore the file to that path.
    :ivar files.RestoreError.invalid_revision: The revision is invalid. It may
        not exist or may point to a deleted file.
    :ivar files.RestoreError.in_progress: The restore is currently executing,
        but has not yet completed.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path_lookup`` tag with
        value ``val``.

        :param LookupError val:
        :rtype: RestoreError
        r   r   r2   r   r   r   r   B  r5   zRestoreError.path_lookupc                 C   r1   )z
        Create an instance of this class set to the ``path_write`` tag with
        value ``val``.

        :param WriteError val:
        :rtype: RestoreError
        r   r   r2   r   r   r   r   M  r5   zRestoreError.path_writec                 C   r6   r   r8   r9   r   r   r   r   X  r;   zRestoreError.is_path_lookupc                 C   r6   r   r8   r9   r   r   r   r   `  r;   zRestoreError.is_path_writec                 C   r6   )zW
        Check if the union tag is ``invalid_revision``.

        :rtype: bool
        invalid_revisionr8   r9   r   r   r   is_invalid_revisionh  r;   z RestoreError.is_invalid_revisionc                 C   r6   r  r8   r9   r   r   r   r  p  r;   zRestoreError.is_in_progressc                 C   r6   r<   r8   r9   r   r   r   r=   x  r;   zRestoreError.is_otherc                 C   r>   )z
        An error occurs when downloading metadata for the file.

        Only call this if :meth:`is_path_lookup` is true.

        :rtype: LookupError
        r   r   r9   r   r   r   r     r   zRestoreError.get_path_lookupc                 C   r>   )z
        An error occurs when trying to restore the file to that path.

        Only call this if :meth:`is_path_write` is true.

        :rtype: WriteError
        r   r   r9   r   r   r   r     r   zRestoreError.get_path_writec                    r   r   )r   r  r   r   r   r   r   r     r!   z(RestoreError._process_custom_annotations)r$   r%   r&   r'   rG   r  r  r0   rH   r   r   r   r   r  r  r=   r   r   r   r+   r   r   r   r   r  *  s$    



r  c                       r	   )SaveCopyReferenceArga  
    :ivar files.SaveCopyReferenceArg.copy_reference: A copy reference returned
        by :meth:`dropbox.dropbox_client.Dropbox.files_copy_reference_get`.
    :ivar files.SaveCopyReferenceArg.path: Path in the user's Dropbox that is
        the destination.
    r  r   TNc                 C   r   r   )r   r   r  r   r  r   )r   r  r   r   r   r   r     r   zSaveCopyReferenceArg.__init__r  r   c                    r   r   )r   r  r   r   r   r   r   r     r!   z0SaveCopyReferenceArg._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r   r   r+   r   r   r   r   r    r  r  c                       s|   e Zd ZdZdZdZdZdZdZdZ	e
dd Zdd Zdd	 Zd
d Zdd Zdd Zdd Zdd Z fddZ  ZS )SaveCopyReferenceErrora!  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.SaveCopyReferenceError.invalid_copy_reference: The copy
        reference is invalid.
    :ivar files.SaveCopyReferenceError.no_permission: You don't have permission
        to save the given copy reference. Please make sure this app is same app
        which created the copy reference and the source user is still linked to
        the app.
    :ivar files.SaveCopyReferenceError.not_found: The file referenced by the
        copy reference cannot be found.
    :ivar files.SaveCopyReferenceError.too_many_files: The operation would
        involve more than 10,000 files and folders.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param WriteError val:
        :rtype: SaveCopyReferenceError
        r   r   r2   r   r   r   r     r5   zSaveCopyReferenceError.pathc                 C   r6   r7   r8   r9   r   r   r   r:     r;   zSaveCopyReferenceError.is_pathc                 C   r6   )z]
        Check if the union tag is ``invalid_copy_reference``.

        :rtype: bool
        invalid_copy_referencer8   r9   r   r   r   is_invalid_copy_reference  r;   z0SaveCopyReferenceError.is_invalid_copy_referencec                 C   r6   )zT
        Check if the union tag is ``no_permission``.

        :rtype: bool
        no_permissionr8   r9   r   r   r   is_no_permission  r;   z'SaveCopyReferenceError.is_no_permissionc                 C   r6   r   r8   r9   r   r   r   r"    r;   z#SaveCopyReferenceError.is_not_foundc                 C   r6   r   r8   r9   r   r   r   r   
  r;   z(SaveCopyReferenceError.is_too_many_filesc                 C   r6   r<   r8   r9   r   r   r   r=     r;   zSaveCopyReferenceError.is_otherc                 C   r>   r   rA   r9   r   r   r   rD     rE   zSaveCopyReferenceError.get_pathc                    r   r   )r   r  r   r   r   r   r   r   $  r!   z2SaveCopyReferenceError._process_custom_annotations)r$   r%   r&   r'   rG   r  r  r!  r   r0   rH   r   r:   r  r  r"  r   r=   rD   r   r+   r   r   r   r   r    s$    


r  c                       r   )SaveCopyReferenceResultz
    :ivar files.SaveCopyReferenceResult.metadata: The metadata of the saved file
        or folder in the user's Dropbox.
    r   TNc                 C   r   r   r   r   r   r   r   r   5  r   z SaveCopyReferenceResult.__init__r   r{   c                    r   r   )r   r  r   r   r   r   r   r   >  r!   z3SaveCopyReferenceResult._process_custom_annotationsr   r   r   r   r   r   r  )  r   r  c                       r	   )
SaveUrlArgz
    :ivar files.SaveUrlArg.path: The path in Dropbox where the URL will be saved
        to.
    :ivar files.SaveUrlArg.url: The URL to be saved.
    r   rD  TNc                 C   r   r   )r   r   r   rD  r   rE  )r   r   rE  r   r   r   r   Q  r   zSaveUrlArg.__init__r   rE  c                    r   r   )r   r  r   r   r   r   r   r   a  r!   z&SaveUrlArg._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r   rE  r   r+   r   r   r   r   r  C  r,   r  c                       r*  )SaveUrlErrora9  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.SaveUrlError.download_failed: Failed downloading the given URL.
        The URL may be  password-protected and the password provided was
        incorrect,  or the link may be disabled.
    :ivar files.SaveUrlError.invalid_url: The given URL is invalid.
    :ivar files.SaveUrlError.not_found: The file where the URL is saved to no
        longer exists.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param WriteError val:
        :rtype: SaveUrlError
        r   r   r2   r   r   r   r   ~  r5   zSaveUrlError.pathc                 C   r6   r7   r8   r9   r   r   r   r:     r;   zSaveUrlError.is_pathc                 C   r6   )zV
        Check if the union tag is ``download_failed``.

        :rtype: bool
        download_failedr8   r9   r   r   r   is_download_failed  r;   zSaveUrlError.is_download_failedc                 C   r6   )zR
        Check if the union tag is ``invalid_url``.

        :rtype: bool
        invalid_urlr8   r9   r   r   r   is_invalid_url  r;   zSaveUrlError.is_invalid_urlc                 C   r6   r   r8   r9   r   r   r   r"    r;   zSaveUrlError.is_not_foundc                 C   r6   r<   r8   r9   r   r   r   r=     r;   zSaveUrlError.is_otherc                 C   r>   r   rA   r9   r   r   r   rD     rE   zSaveUrlError.get_pathc                    r   r   )r   r  r   r   r   r   r   r     r!   z(SaveUrlError._process_custom_annotations)r$   r%   r&   r'   rG   r  r  r!  r0   rH   r   r:   r  r  r"  r=   rD   r   r+   r   r   r   r   r  f  r2  r  c                       r  )SaveUrlJobStatusa0  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar FileMetadata SaveUrlJobStatus.complete: Metadata of the file where the
        URL is saved to.
    c                 C   r1   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param FileMetadata val:
        :rtype: SaveUrlJobStatus
        r   r   r2   r   r   r   r     r5   zSaveUrlJobStatus.completec                 C   r1   )z
        Create an instance of this class set to the ``failed`` tag with value
        ``val``.

        :param SaveUrlError val:
        :rtype: SaveUrlJobStatus
        r   r   r2   r   r   r   r     r5   zSaveUrlJobStatus.failedc                 C   r6   r   r8   r9   r   r   r   r     r;   zSaveUrlJobStatus.is_completec                 C   r6   r   r8   r9   r   r   r   r     r;   zSaveUrlJobStatus.is_failedc                 C   r>   z
        Metadata of the file where the URL is saved to.

        Only call this if :meth:`is_complete` is true.

        :rtype: FileMetadata
        r   r   r9   r   r   r   r     r   zSaveUrlJobStatus.get_completec                 C   r>   )z\
        Only call this if :meth:`is_failed` is true.

        :rtype: SaveUrlError
        r   r   r9   r   r   r   r     rE   zSaveUrlJobStatus.get_failedc                    r   r   )r   r  r   r   r   r   r   r     r!   z,SaveUrlJobStatus._process_custom_annotationsr  r   r   r   r   r    s    	




r  c                       rf   )
SaveUrlResulta-  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar FileMetadata SaveUrlResult.complete: Metadata of the file where the
        URL is saved to.
    c                 C   r1   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param FileMetadata val:
        :rtype: SaveUrlResult
        r   r   r2   r   r   r   r     r5   zSaveUrlResult.completec                 C   r6   r   r8   r9   r   r   r   r      r;   zSaveUrlResult.is_completec                 C   r>   r  r   r9   r   r   r   r   (  r   zSaveUrlResult.get_completec                    r   r   )r   r  r   r   r   r   r   r   4  r!   z)SaveUrlResult._process_custom_annotationsr  r   r   r   r   r    s    	

r  c                       sv   e Zd ZdZg dZdZ					dddZedZ	edZ
ed	Zed
ZejdddZ fddZ  ZS )	SearchArgaO  
    :ivar files.SearchArg.path: The path in the user's Dropbox to search. Should
        probably be a folder.
    :ivar files.SearchArg.query: The string to search for. Query string may be
        rewritten to improve relevance of results. The string is split on spaces
        into multiple tokens. For file name searching, the last token is used
        for prefix matching (i.e. "bat c" matches "bat cave" but not "batman
        car").
    :ivar files.SearchArg.start: The starting index within the search results
        (used for paging).
    :ivar files.SearchArg.max_results: The maximum number of search results to
        return.
    :ivar files.SearchArg.mode: The search mode (filename, filename_and_content,
        or deleted_filename). Note that searching file content is only available
        for Dropbox Business accounts.
    )r   _query_value_start_value_max_results_valuero   TNc                 C   rT   r   )r   r   r   r  r  r  ro   r   querystartmax_resultsru   )r   r   r  r  r  ru   r   r   r   r   U  rY   zSearchArg.__init__r   r  r  r  ru   r{   c                    r   r   )r   r  r   r   r   r   r   r   z  r!   z%SearchArg._process_custom_annotationsr]   )r$   r%   r&   r'   r(   r)   r   r   r*   r   r  r  r  ru   r   r+   r   r   r   r   r  9  s     




r  c                       st   e Zd ZdZdZdZdZedd Zedd Z	dd	 Z
d
d Zdd Zdd Zdd Zdd Z fddZ  ZS )SearchErrora"  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.SearchError.internal_error: Something went wrong, please try
        again.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param LookupError val:
        :rtype: SearchError
        r   r   r2   r   r   r   r     r5   zSearchError.pathc                 C   r1   )z
        Create an instance of this class set to the ``invalid_argument`` tag
        with value ``val``.

        :param str val:
        :rtype: SearchError
        invalid_argumentr   r2   r   r   r   r    r5   zSearchError.invalid_argumentc                 C   r6   r7   r8   r9   r   r   r   r:     r;   zSearchError.is_pathc                 C   r6   )zW
        Check if the union tag is ``invalid_argument``.

        :rtype: bool
        r  r8   r9   r   r   r   is_invalid_argument  r;   zSearchError.is_invalid_argumentc                 C   r6   r  r8   r9   r   r   r   r    r;   zSearchError.is_internal_errorc                 C   r6   r<   r8   r9   r   r   r   r=     r;   zSearchError.is_otherc                 C   r>   r?   rA   r9   r   r   r   rD     rE   zSearchError.get_pathc                 C   r>   )z]
        Only call this if :meth:`is_invalid_argument` is true.

        :rtype: str
        ztag 'invalid_argument' not set)r  rB   rC   r9   r   r   r   get_invalid_argument  rE   z SearchError.get_invalid_argumentc                    r   r   )r   r  r   r   r   r   r   r     r!   z'SearchError._process_custom_annotations)r$   r%   r&   r'   rG   r  r0   rH   r   r  r:   r  r  r=   rD   r  r   r+   r   r   r   r   r    s     	





r  c                       rB  )SearchMatchz
    :ivar files.SearchMatch.match_type: The type of the match.
    :ivar files.SearchMatch.metadata: The metadata for the matched file or
        folder.
    _match_type_valuer   TNc                 C   r   r   )r   r   r  r   
match_typer   )r   r  r   r   r   r   r     r   zSearchMatch.__init__r  r{   r   c                    r   r   )r   r  r   r   r   r   r   r     r!   z'SearchMatch._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r   r   r+   r   r   r   r   r    rH  r  c                       r  )SearchMatchFieldOptionsz|
    :ivar files.SearchMatchFieldOptions.include_highlights: Whether to include
        highlight span from file title.
    _include_highlights_valueFNc                 C   r   r   )r   r   r  include_highlights)r   r  r   r   r   r     r   z SearchMatchFieldOptions.__init__r  c                    r   r   )r   r  r   r   r   r   r   r     r!   z3SearchMatchFieldOptions._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r   r+   r   r   r   r   r    r  r  c                       H   e Zd ZdZdZdZdZdZdd Zdd Z	dd Z
 fd	d
Z  ZS )SearchMatchTypea=  
    Indicates what type of match was found for a given item.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.SearchMatchType.filename: This item was matched on its file or
        folder name.
    :ivar files.SearchMatchType.content: This item was matched based on its file
        contents.
    :ivar files.SearchMatchType.both: This item was matched based on both its
        contents and its file name.
    Nc                 C   r6   zO
        Check if the union tag is ``filename``.

        :rtype: bool
        filenamer8   r9   r   r   r   is_filename3  r;   zSearchMatchType.is_filenamec                 C   r6   )zN
        Check if the union tag is ``content``.

        :rtype: bool
        ra  r8   r9   r   r   r   
is_content;  r;   zSearchMatchType.is_contentc                 C   r6   )zK
        Check if the union tag is ``both``.

        :rtype: bool
        bothr8   r9   r   r   r   is_bothC  r;   zSearchMatchType.is_bothc                    r   r   )r   r  r   r   r   r   r   r   K  r!   z+SearchMatchType._process_custom_annotations)r$   r%   r&   r'   rG   r  ra  r  r  r  r  r   r+   r   r   r   r   r    s    r  c                       rQ  )SearchMatchTypeV2a  
    Indicates what type of match was found for a given item.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.SearchMatchTypeV2.filename: This item was matched on its file or
        folder name.
    :ivar files.SearchMatchTypeV2.file_content: This item was matched based on
        its file contents.
    :ivar files.SearchMatchTypeV2.filename_and_content: This item was matched
        based on both its contents and its file name.
    :ivar files.SearchMatchTypeV2.image_content: This item was matched on image
        content.
    r0   Nc                 C   r6   r   r8   r9   r   r   r   r  n  r;   zSearchMatchTypeV2.is_filenamec                 C   r6   )zS
        Check if the union tag is ``file_content``.

        :rtype: bool
        file_contentr8   r9   r   r   r   is_file_contentv  r;   z!SearchMatchTypeV2.is_file_contentc                 C   r6   z[
        Check if the union tag is ``filename_and_content``.

        :rtype: bool
        filename_and_contentr8   r9   r   r   r   is_filename_and_content~  r;   z)SearchMatchTypeV2.is_filename_and_contentc                 C   r6   )zT
        Check if the union tag is ``image_content``.

        :rtype: bool
        image_contentr8   r9   r   r   r   is_image_content  r;   z"SearchMatchTypeV2.is_image_contentc                 C   r6   r<   r8   r9   r   r   r   r=     r;   zSearchMatchTypeV2.is_otherc                    r   r   )r   r  r   r   r   r   r   r     r!   z-SearchMatchTypeV2._process_custom_annotations)r$   r%   r&   r'   rG   r  r  r
  r  r0   r  r  r  r  r=   r   r+   r   r   r   r   r  P  s    r  c                       sh   e Zd ZdZg dZdZ			dddZejdddZ	ejd	ddd
Z
ejdddZ fddZ  ZS )SearchMatchV2a4  
    :ivar files.SearchMatchV2.metadata: The metadata for the matched file or
        folder.
    :ivar files.SearchMatchV2.match_type: The type of the match.
    :ivar files.SearchMatchV2.highlight_spans: The list of HighlightSpan
        determines which parts of the file title should be highlighted.
    )r   r  _highlight_spans_valueTNc                 C   r   r   )r   r   r   r  r  r   r  highlight_spans)r   r   r  r  r   r   r   r     r   zSearchMatchV2.__init__r   r{   r  rZ   r  ra   c                    r   r   )r   r  r   r   r   r   r   r     r!   z)SearchMatchV2._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r   r  r  r   r+   r   r   r   r   r    s    
r  c                       r  )
SearchModea  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.SearchMode.filename: Search file and folder names.
    :ivar files.SearchMode.filename_and_content: Search file and folder names as
        well as file contents.
    :ivar files.SearchMode.deleted_filename: Search for deleted file and folder
        names.
    Nc                 C   r6   r   r8   r9   r   r   r   r    r;   zSearchMode.is_filenamec                 C   r6   r	  r8   r9   r   r   r   r    r;   z"SearchMode.is_filename_and_contentc                 C   r6   )zW
        Check if the union tag is ``deleted_filename``.

        :rtype: bool
        deleted_filenamer8   r9   r   r   r   is_deleted_filename  r;   zSearchMode.is_deleted_filenamec                    r   r   )r   r  r   r   r   r   r   r     r!   z&SearchMode._process_custom_annotations)r$   r%   r&   r'   rG   r  r
  r  r  r  r  r   r+   r   r   r   r   r    r   r  c                       s   e Zd ZdZg dZdZ								dddZejddd	Z	ed
Z
ejddddZejdddZedZejddd	Zejddd	Zejddd	Z fddZ  ZS )SearchOptionsa  
    :ivar files.SearchOptions.path: Scopes the search to a path in the user's
        Dropbox. Searches the entire Dropbox if not specified.
    :ivar files.SearchOptions.max_results: The maximum number of search results
        to return.
    :ivar files.SearchOptions.order_by: Specified property of the order of
        search results. By default, results are sorted by relevance.
    :ivar files.SearchOptions.file_status: Restricts search to the given file
        status.
    :ivar files.SearchOptions.filename_only: Restricts search to only match on
        filenames.
    :ivar files.SearchOptions.file_extensions: Restricts search to only the
        extensions specified. Only supported for active file search.
    :ivar files.SearchOptions.file_categories: Restricts search to only the file
        categories specified. Only supported for active file search.
    :ivar files.SearchOptions.account_id: Restricts results to the given account
        id.
    )r   r  _order_by_value_file_status_value_filename_only_value_file_extensions_value_file_categories_value_account_id_valueFNc	           	      C   s   t j| _t j| _t j| _t j| _t j| _t j| _t j| _t j| _	|d ur'|| _
|d ur.|| _|d ur5|| _|d ur<|| _|d urC|| _|d urJ|| _|d urQ|| _|d urZ|| _d S d S r   )r   r   r   r  r  r  r  r  r  r  r   r  order_byfile_statusfilename_onlyfile_extensionsfile_categories
account_id)	r   r   r  r  r  r  r  r  r   r   r   r   r     s2   	
zSearchOptions.__init__r   Tra   r  r  rZ   r  r{   r  r  r  r   c                    r   r   )r   r  r   r   r   r   r   r   U  r!   z)SearchOptions._process_custom_annotationsNNNNNNNN)r$   r%   r&   r'   r(   r)   r   r   r*   r   r  r  r  r  r  r  r   r   r+   r   r   r   r   r    s,    
#

r  c                       r  )SearchOrderByr/   r0   Nc                 C   r6   )zP
        Check if the union tag is ``relevance``.

        :rtype: bool
        	relevancer8   r9   r   r   r   is_relevancei  r;   zSearchOrderBy.is_relevancec                 C   r6   )zY
        Check if the union tag is ``last_modified_time``.

        :rtype: bool
        last_modified_timer8   r9   r   r   r   is_last_modified_timeq  r;   z#SearchOrderBy.is_last_modified_timec                 C   r6   r<   r8   r9   r   r   r   r=   y  r;   zSearchOrderBy.is_otherc                    r   r   )r   r"  r   r   r   r   r   r     r!   z)SearchOrderBy._process_custom_annotations)r$   r%   r&   r'   rG   r#  r%  r0   r$  r&  r=   r   r+   r   r   r   r   r"  Z  r  r"  c                       r   )SearchResulta  
    :ivar files.SearchResult.matches: A list (possibly empty) of matches for the
        query.
    :ivar files.SearchResult.more: Used for paging. If true, indicates there is
        another page of results available that can be fetched by calling
        :meth:`dropbox.dropbox_client.Dropbox.files_search` again.
    :ivar files.SearchResult.start: Used for paging. Value to set the start
        argument to when calling
        :meth:`dropbox.dropbox_client.Dropbox.files_search` to fetch the next
        page of results.
    )_matches_value_more_valuer  TNc                 C   r   r   )r   r   r(  r)  r  matchesmorer  )r   r*  r+  r  r   r   r   r     r   zSearchResult.__init__r*  r+  r  c                    r   r   )r   r'  r   r   r   r   r   r     r!   z(SearchResult._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r*  r+  r  r   r+   r   r   r   r   r'    r  r'  c                       sv   e Zd ZdZg dZdZ				dddZedZ	ejdddd	Z
ejd
ddd	ZejdddZ fddZ  ZS )SearchV2Arga  
    :ivar files.SearchV2Arg.query: The string to search for. May match across
        multiple fields based on the request arguments.
    :ivar files.SearchV2Arg.options: Options for more targeted search results.
    :ivar files.SearchV2Arg.match_field_options: Options for search results
        match fields.
    :ivar files.SearchV2Arg.include_highlights: Deprecated and moved this option
        to SearchMatchFieldOptions.
    )r  _options_value_match_field_options_valuer  TNc                 C   r<  r   )
r   r   r  r-  r.  r  r  optionsmatch_field_optionsr  )r   r  r/  r0  r  r   r   r   r     r@  zSearchV2Arg.__init__r  r/  rZ   r0  r  ra   c                    r   r   )r   r,  r   r   r   r   r   r     r!   z'SearchV2Arg._process_custom_annotationsrA  )r$   r%   r&   r'   r(   r)   r   r   r*   r  r/  r0  r  r   r+   r   r   r   r   r,    s    


r,  c                       r  )SearchV2ContinueArgz
    :ivar files.SearchV2ContinueArg.cursor: The cursor returned by your last
        call to :meth:`dropbox.dropbox_client.Dropbox.files_search`. Used to
        fetch the next page of results.
    r  TNc                 C   r   r   r  r  r   r   r   r     r   zSearchV2ContinueArg.__init__r  c                    r   r   )r   r1  r   r   r   r   r   r      r!   z/SearchV2ContinueArg._process_custom_annotationsr   r  r   r   r   r   r1    r  r1  c                       ^   e Zd ZdZg dZdZ			dddZedZ	edZ
ejd	dd
Z fddZ  ZS )SearchV2Resulta  
    :ivar files.SearchV2Result.matches: A list (possibly empty) of matches for
        the query.
    :ivar files.SearchV2Result.has_more: Used for paging. If true, indicates
        there is another page of results available that can be fetched by
        calling :meth:`dropbox.dropbox_client.Dropbox.files_search_continue`
        with the cursor.
    :ivar files.SearchV2Result.cursor: Pass the cursor into
        :meth:`dropbox.dropbox_client.Dropbox.files_search_continue` to fetch
        the next page of results.
    )r(  r  r  TNc                 C   r   r   )r   r   r(  r  r  r*  r  r  )r   r*  r  r  r   r   r   r      r   zSearchV2Result.__init__r*  r  r  ra   c                    r   r   )r   r3  r   r   r   r   r   r   5   r!   z*SearchV2Result._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r*  r  r  r   r+   r   r   r   r   r3  	   s    


r3  c                       r|   )
SharedLinkzy
    :ivar files.SharedLink.url: Shared link url.
    :ivar files.SharedLink.password: Password for the shared link.
    rD  _password_valueTNc                 C   r   r   )r   r   rD  r5  rE  password)r   rE  r6  r   r   r   r   G   r   zSharedLink.__init__rE  r6  ra   c                    r   r   )r   r4  r   r   r   r   r   r   W   r!   z&SharedLink._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   rE  r6  r   r+   r   r   r   r   r4  :   r  r4  c                       sb   e Zd ZdZg dZdZ			dddZedZ	ejddd	Z
ejd
dd	Z fddZ  ZS )SharedLinkFileInfoaQ  
    :ivar files.SharedLinkFileInfo.url: The shared link corresponding to either
        a file or shared link to a folder. If it is for a folder shared link, we
        use the path param to determine for which file in the folder the view is
        for.
    :ivar files.SharedLinkFileInfo.path: The path corresponding to a file in a
        shared link to a folder. Required for shared links to folders.
    :ivar files.SharedLinkFileInfo.password: Password for the shared link.
        Required for password-protected shared links to files  unless it can be
        read from a cookie.
    )rD  r   r5  TNc                 C   r   r   )r   r   rD  r   r5  rE  r   r6  )r   rE  r   r6  r   r   r   r   q   r   zSharedLinkFileInfo.__init__rE  r   ra   r6  c                    r   r   )r   r7  r   r   r   r   r   r      r!   z.SharedLinkFileInfo._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   rE  r   r6  r   r+   r   r   r   r   r7  \   s    

r7  c                       r2  )SingleUserLocka*  
    :ivar files.SingleUserLock.created: The time the lock was created.
    :ivar files.SingleUserLock.lock_holder_account_id: The account ID of the
        lock holder if known.
    :ivar files.SingleUserLock.lock_holder_team_id: The id of the team of the
        account holder if it exists.
    )rl  _lock_holder_account_id_value_lock_holder_team_id_valueTNc                 C   r   r   )r   r   rl  r9  r:  rp  lock_holder_account_idlock_holder_team_id)r   rp  r;  r<  r   r   r   r      r   zSingleUserLock.__init__rp  r;  r<  ra   c                    r   r   )r   r8  r   r   r   r   r   r      r!   z*SingleUserLock._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   rp  r;  r<  r   r+   r   r   r   r   r8     s    


r8  c                       r  )SymlinkInfozL
    :ivar files.SymlinkInfo.target: The target this symlink points to.
    _target_valueTNc                 C   r   r   )r   r   r>  target)r   r?  r   r   r   r      r   zSymlinkInfo.__init__r?  c                    r   r   )r   r=  r   r   r   r   r   r      r!   z'SymlinkInfo._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r?  r   r+   r   r   r   r   r=     r  r=  c                       r  )SyncSettinga  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.SyncSetting.default: On first sync to members' computers, the
        specified folder will follow its parent folder's setting or otherwise
        follow default sync behavior.
    :ivar files.SyncSetting.not_synced: On first sync to members' computers, the
        specified folder will be set to not sync with selective sync.
    :ivar files.SyncSetting.not_synced_inactive: The specified folder's
        not_synced setting is inactive due to its location or other
        configuration changes. It will follow its parent folder's setting.
    r0   Nc                 C   r6   zN
        Check if the union tag is ``default``.

        :rtype: bool
        defaultr8   r9   r   r   r   
is_default   r;   zSyncSetting.is_defaultc                 C   r6   zQ
        Check if the union tag is ``not_synced``.

        :rtype: bool
        
not_syncedr8   r9   r   r   r   is_not_synced   r;   zSyncSetting.is_not_syncedc                 C   r6   )zZ
        Check if the union tag is ``not_synced_inactive``.

        :rtype: bool
        not_synced_inactiver8   r9   r   r   r   is_not_synced_inactive   r;   z"SyncSetting.is_not_synced_inactivec                 C   r6   r<   r8   r9   r   r   r   r=   !  r;   zSyncSetting.is_otherc                    r   r   )r   r@  r   r   r   r   r   r   !  r!   z'SyncSetting._process_custom_annotations)r$   r%   r&   r'   rG   rB  rE  rG  r0   rC  rF  rH  r=   r   r+   r   r   r   r   r@     r  r@  c                       r  )SyncSettingArga%  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.SyncSettingArg.default: On first sync to members' computers, the
        specified folder will follow its parent folder's setting or otherwise
        follow default sync behavior.
    :ivar files.SyncSettingArg.not_synced: On first sync to members' computers,
        the specified folder will be set to not sync with selective sync.
    r0   Nc                 C   r6   rA  r8   r9   r   r   r   rC  '!  r;   zSyncSettingArg.is_defaultc                 C   r6   rD  r8   r9   r   r   r   rF  /!  r;   zSyncSettingArg.is_not_syncedc                 C   r6   r<   r8   r9   r   r   r   r=   7!  r;   zSyncSettingArg.is_otherc                    r   r   )r   rI  r   r   r   r   r   r   ?!  r!   z*SyncSettingArg._process_custom_annotations)r$   r%   r&   r'   rG   rB  rE  r0   rC  rF  r=   r   r+   r   r   r   r   rI  !  r   rI  c                       r  )SyncSettingsErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.SyncSettingsError.unsupported_combination: Setting this
        combination of sync settings simultaneously is not supported.
    :ivar files.SyncSettingsError.unsupported_configuration: The specified
        configuration is not supported.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param LookupError val:
        :rtype: SyncSettingsError
        r   r   r2   r   r   r   r   X!  r5   zSyncSettingsError.pathc                 C   r6   r7   r8   r9   r   r   r   r:   c!  r;   zSyncSettingsError.is_pathc                 C   r6   )z^
        Check if the union tag is ``unsupported_combination``.

        :rtype: bool
        unsupported_combinationr8   r9   r   r   r   is_unsupported_combinationk!  r;   z,SyncSettingsError.is_unsupported_combinationc                 C   r6   )z`
        Check if the union tag is ``unsupported_configuration``.

        :rtype: bool
        unsupported_configurationr8   r9   r   r   r   is_unsupported_configurations!  r;   z.SyncSettingsError.is_unsupported_configurationc                 C   r6   r<   r8   r9   r   r   r   r=   {!  r;   zSyncSettingsError.is_otherc                 C   r>   r?   rA   r9   r   r   r   rD   !  rE   zSyncSettingsError.get_pathc                    r   r   )r   rJ  r   r   r   r   r   r   !  r!   z-SyncSettingsError._process_custom_annotations)r$   r%   r&   r'   rG   rK  rM  r0   rH   r   r:   rL  rN  r=   rD   r   r+   r   r   r   r   rJ  D!  r$  rJ  c                       r-   )TagaA  
    Tag that can be added in multiple ways.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar UserGeneratedTag Tag.user_generated_tag: Tag generated by the user.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``user_generated_tag`` tag
        with value ``val``.

        :param UserGeneratedTag val:
        :rtype: Tag
        user_generated_tagr   r2   r   r   r   rP  !  r5   zTag.user_generated_tagc                 C   r6   )zY
        Check if the union tag is ``user_generated_tag``.

        :rtype: bool
        rP  r8   r9   r   r   r   is_user_generated_tag!  r;   zTag.is_user_generated_tagc                 C   r6   r<   r8   r9   r   r   r   r=   !  r;   zTag.is_otherc                 C   r>   )z
        Tag generated by the user.

        Only call this if :meth:`is_user_generated_tag` is true.

        :rtype: UserGeneratedTag
        z tag 'user_generated_tag' not set)rQ  rB   rC   r9   r   r   r   get_user_generated_tag!  r   zTag.get_user_generated_tagc                    r   r   )r   rO  r   r   r   r   r   r   !  r!   zTag._process_custom_annotations)r$   r%   r&   r'   rG   r0   rH   rP  rQ  r=   rR  r   r+   r   r   r   r   rO  !  r9  rO  c                       sr   e Zd ZdZg dZdZ				dddZedZ	ejddd	Z
ejd
dd	Zejddd	Z fddZ  ZS )ThumbnailArga  
    :ivar files.ThumbnailArg.path: The path to the image file you want to
        thumbnail.
    :ivar files.ThumbnailArg.format: The format for the thumbnail image, jpeg
        (default) or png. For  images that are photos, jpeg should be preferred,
        while png is  better for screenshots and digital arts.
    :ivar files.ThumbnailArg.size: The size for the thumbnail image.
    :ivar files.ThumbnailArg.mode: How to resize and crop the image to achieve
        the desired size.
    )r   _format_valuer9  ro   TNc                 C   r<  r   )
r   r   r   rT  r9  ro   r   formatr=  ru   )r   r   rU  r=  ru   r   r   r   r   !  r@  zThumbnailArg.__init__r   rU  r{   r=  ru   c                    r   r   )r   rS  r   r   r   r   r   r    "  r!   z(ThumbnailArg._process_custom_annotationsrA  )r$   r%   r&   r'   r(   r)   r   r   r*   r   rU  r=  ru   r   r+   r   r   r   r   rS  !  r{  rS  c                       r  )ThumbnailErroraz  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar LookupError ThumbnailError.path: An error occurs when downloading
        metadata for the image.
    :ivar files.ThumbnailError.unsupported_extension: The file extension doesn't
        allow conversion to a thumbnail.
    :ivar files.ThumbnailError.unsupported_image: The image cannot be converted
        to a thumbnail.
    :ivar files.ThumbnailError.conversion_error: An error occurs during
        thumbnail conversion.
    Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param LookupError val:
        :rtype: ThumbnailError
        r   r   r2   r   r   r   r   "  r5   zThumbnailError.pathc                 C   r6   r7   r8   r9   r   r   r   r:   ("  r;   zThumbnailError.is_pathc                 C   r6   r  r8   r9   r   r   r   r  0"  r;   z'ThumbnailError.is_unsupported_extensionc                 C   r6   zX
        Check if the union tag is ``unsupported_image``.

        :rtype: bool
        unsupported_imager8   r9   r   r   r   is_unsupported_image8"  r;   z#ThumbnailError.is_unsupported_imagec                 C   r6   zW
        Check if the union tag is ``conversion_error``.

        :rtype: bool
        conversion_errorr8   r9   r   r   r   is_conversion_error@"  r;   z"ThumbnailError.is_conversion_errorc                 C   r>   )z
        An error occurs when downloading metadata for the image.

        Only call this if :meth:`is_path` is true.

        :rtype: LookupError
        r@   rA   r9   r   r   r   rD   H"  r   zThumbnailError.get_pathc                    r   r   )r   rV  r   r   r   r   r   r   T"  r!   z*ThumbnailError._process_custom_annotations)r$   r%   r&   r'   rG   r  rX  r[  rH   r   r:   r  rY  r\  rD   r   r+   r   r   r   r   rV  "  r  rV  c                       s<   e Zd ZdZdZdZdZdd Zdd Z fddZ	  Z
S )	ThumbnailFormatr/   Nc                 C   r6   )zK
        Check if the union tag is ``jpeg``.

        :rtype: bool
        jpegr8   r9   r   r   r   is_jpegf"  r;   zThumbnailFormat.is_jpegc                 C   r6   )zJ
        Check if the union tag is ``png``.

        :rtype: bool
        pngr8   r9   r   r   r   is_pngn"  r;   zThumbnailFormat.is_pngc                    r   r   )r   r]  r   r   r   r   r   r   v"  r!   z+ThumbnailFormat._process_custom_annotations)r$   r%   r&   r'   rG   r^  r`  r_  ra  r   r+   r   r   r   r   r]  Y"  s    r]  c                       r  )ThumbnailModea  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.ThumbnailMode.strict: Scale down the image to fit within the
        given size.
    :ivar files.ThumbnailMode.bestfit: Scale down the image to fit within the
        given size or its transpose.
    :ivar files.ThumbnailMode.fitone_bestfit: Scale down the image to completely
        cover the given size or its transpose.
    Nc                 C   r6   )zM
        Check if the union tag is ``strict``.

        :rtype: bool
        strictr8   r9   r   r   r   	is_strict"  r;   zThumbnailMode.is_strictc                 C   r6   )zN
        Check if the union tag is ``bestfit``.

        :rtype: bool
        bestfitr8   r9   r   r   r   
is_bestfit"  r;   zThumbnailMode.is_bestfitc                 C   r6   )zU
        Check if the union tag is ``fitone_bestfit``.

        :rtype: bool
        fitone_bestfitr8   r9   r   r   r   is_fitone_bestfit"  r;   zThumbnailMode.is_fitone_bestfitc                    r   r   )r   rb  r   r   r   r   r   r   "  r!   z)ThumbnailMode._process_custom_annotations)r$   r%   r&   r'   rG   rc  re  rg  rd  rf  rh  r   r+   r   r   r   r   rb  {"  s    rb  c                       s   e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZdZdd Zdd Zdd Zd	d
 Zdd Zdd Zdd Zdd Zdd Z fddZ  ZS )ThumbnailSizea  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.ThumbnailSize.w32h32: 32 by 32 px.
    :ivar files.ThumbnailSize.w64h64: 64 by 64 px.
    :ivar files.ThumbnailSize.w128h128: 128 by 128 px.
    :ivar files.ThumbnailSize.w256h256: 256 by 256 px.
    :ivar files.ThumbnailSize.w480h320: 480 by 320 px.
    :ivar files.ThumbnailSize.w640h480: 640 by 480 px.
    :ivar files.ThumbnailSize.w960h640: 960 by 640 px.
    :ivar files.ThumbnailSize.w1024h768: 1024 by 768 px.
    :ivar files.ThumbnailSize.w2048h1536: 2048 by 1536 px.
    Nc                 C   r6   )zM
        Check if the union tag is ``w32h32``.

        :rtype: bool
        w32h32r8   r9   r   r   r   	is_w32h32"  r;   zThumbnailSize.is_w32h32c                 C   r6   )zM
        Check if the union tag is ``w64h64``.

        :rtype: bool
        w64h64r8   r9   r   r   r   	is_w64h64"  r;   zThumbnailSize.is_w64h64c                 C   r6   )zO
        Check if the union tag is ``w128h128``.

        :rtype: bool
        w128h128r8   r9   r   r   r   is_w128h128"  r;   zThumbnailSize.is_w128h128c                 C   r6   )zO
        Check if the union tag is ``w256h256``.

        :rtype: bool
        w256h256r8   r9   r   r   r   is_w256h256"  r;   zThumbnailSize.is_w256h256c                 C   r6   )zO
        Check if the union tag is ``w480h320``.

        :rtype: bool
        w480h320r8   r9   r   r   r   is_w480h320"  r;   zThumbnailSize.is_w480h320c                 C   r6   )zO
        Check if the union tag is ``w640h480``.

        :rtype: bool
        w640h480r8   r9   r   r   r   is_w640h480"  r;   zThumbnailSize.is_w640h480c                 C   r6   )zO
        Check if the union tag is ``w960h640``.

        :rtype: bool
        w960h640r8   r9   r   r   r   is_w960h640#  r;   zThumbnailSize.is_w960h640c                 C   r6   )zP
        Check if the union tag is ``w1024h768``.

        :rtype: bool
        	w1024h768r8   r9   r   r   r   is_w1024h768#  r;   zThumbnailSize.is_w1024h768c                 C   r6   )zQ
        Check if the union tag is ``w2048h1536``.

        :rtype: bool
        
w2048h1536r8   r9   r   r   r   is_w2048h1536#  r;   zThumbnailSize.is_w2048h1536c                    r   r   )r   ri  r   r   r   r   r   r   #  r!   z)ThumbnailSize._process_custom_annotations)r$   r%   r&   r'   rG   rj  rl  rn  rp  rr  rt  rv  rx  rz  rk  rm  ro  rq  rs  ru  rw  ry  r{  r   r+   r   r   r   r   ri  "  s,    ri  c                       sv   e Zd ZdZg dZdZ				dddZejdddZ	ejd	ddZ
ejd
ddZejdddZ fddZ  ZS )ThumbnailV2Arga}  
    :ivar files.ThumbnailV2Arg.resource: Information specifying which file to
        preview. This could be a path to a file, a shared link pointing to a
        file, or a shared link pointing to a folder, with a relative path.
    :ivar files.ThumbnailV2Arg.format: The format for the thumbnail image, jpeg
        (default) or png. For  images that are photos, jpeg should be preferred,
        while png is  better for screenshots and digital arts.
    :ivar files.ThumbnailV2Arg.size: The size for the thumbnail image.
    :ivar files.ThumbnailV2Arg.mode: How to resize and crop the image to achieve
        the desired size.
    )_resource_valuerT  r9  ro   TNc                 C   r<  r   )
r   r   r}  rT  r9  ro   resourcerU  r=  ru   )r   r~  rU  r=  ru   r   r   r   r   6#  r@  zThumbnailV2Arg.__init__r~  r{   rU  r=  ru   c                    r   r   )r   r|  r   r   r   r   r   r   T#  r!   z*ThumbnailV2Arg._process_custom_annotationsrA  )r$   r%   r&   r'   r(   r)   r   r   r*   r~  rU  r=  ru   r   r+   r   r   r   r   r|   #  s    
r|  c                       s   e Zd ZdZdZdZdZdZdZdZ	dZ
edd Zdd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Z fddZ  ZS )ThumbnailV2Errora3  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar LookupError ThumbnailV2Error.path: An error occurred when downloading
        metadata for the image.
    :ivar files.ThumbnailV2Error.unsupported_extension: The file extension
        doesn't allow conversion to a thumbnail.
    :ivar files.ThumbnailV2Error.unsupported_image: The image cannot be
        converted to a thumbnail.
    :ivar files.ThumbnailV2Error.conversion_error: An error occurred during
        thumbnail conversion.
    :ivar files.ThumbnailV2Error.access_denied: Access to this shared link is
        forbidden.
    :ivar files.ThumbnailV2Error.not_found: The shared link does not exist.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param LookupError val:
        :rtype: ThumbnailV2Error
        r   r   r2   r   r   r   r   z#  r5   zThumbnailV2Error.pathc                 C   r6   r7   r8   r9   r   r   r   r:   #  r;   zThumbnailV2Error.is_pathc                 C   r6   r  r8   r9   r   r   r   r  #  r;   z)ThumbnailV2Error.is_unsupported_extensionc                 C   r6   rW  r8   r9   r   r   r   rY  #  r;   z%ThumbnailV2Error.is_unsupported_imagec                 C   r6   rZ  r8   r9   r   r   r   r\  #  r;   z$ThumbnailV2Error.is_conversion_errorc                 C   r6   )zT
        Check if the union tag is ``access_denied``.

        :rtype: bool
        access_deniedr8   r9   r   r   r   is_access_denied#  r;   z!ThumbnailV2Error.is_access_deniedc                 C   r6   r   r8   r9   r   r   r   r"  #  r;   zThumbnailV2Error.is_not_foundc                 C   r6   r<   r8   r9   r   r   r   r=   #  r;   zThumbnailV2Error.is_otherc                 C   r>   )z
        An error occurred when downloading metadata for the image.

        Only call this if :meth:`is_path` is true.

        :rtype: LookupError
        r@   rA   r9   r   r   r   rD   #  r   zThumbnailV2Error.get_pathc                    r   r   )r   r  r   r   r   r   r   r   #  r!   z,ThumbnailV2Error._process_custom_annotations)r$   r%   r&   r'   rG   r  rX  r[  r  r!  r0   rH   r   r:   r  rY  r\  r  r"  r=   rD   r   r+   r   r   r   r   r  Y#  s(    

r  c                       r  )UnlockFileArgzO
    :ivar files.UnlockFileArg.path: Path in the user's Dropbox to a file.
    r   TNc                 C   r   r   r  r  r   r   r   r   #  r   zUnlockFileArg.__init__r   c                    r   r   )r   r  r   r   r   r   r   r   #  r!   z)UnlockFileArg._process_custom_annotationsr   r  r   r   r   r   r  #  r  r  c                       r  )UnlockFileBatchArgz
    :ivar files.UnlockFileBatchArg.entries: List of 'entries'. Each 'entry'
        contains a path of the file which will be unlocked. Duplicate path
        arguments in the batch are considered only once.
    r   TNc                 C   r   r   r   r   r   r   r   r   #  r   zUnlockFileBatchArg.__init__r   c                    r   r   )r   r  r   r   r   r   r   r   #  r!   z.UnlockFileBatchArg._process_custom_annotationsr   r   r   r   r   r   r  #  r  r  c                       sV   e Zd ZdZdgZdZ								d fdd	ZejdddZ	 fd	d
Z
  ZS )	UploadArga@  
    :ivar files.UploadArg.content_hash: A hash of the file content uploaded in
        this call. If provided and the uploaded content does not match this
        hash, an error will be returned. For more information see our `Content
        hash <https://www.dropbox.com/developers/reference/content-hash>`_ page.
    ry  TNc	           	   	      s:   t t| ||||||| tj| _|d ur|| _d S d S r   )r   r  r   r   r   ry  r  )	r   r   ru   rv   rw   rx   ry   rz   r  r   r   r   r   $  s   	
zUploadArg.__init__r  ra   c                    r   r   )r   r  r   r   r   r   r   r   '$  r!   z%UploadArg._process_custom_annotationsr!  )r$   r%   r&   r'   r(   r)   r   r   r*   r  r   r+   r   r   r   r   r  $  s     r  c                       r   )UploadErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar UploadWriteFailed UploadError.path: Unable to save the uploaded
        contents to a file.
    :ivar InvalidPropertyGroupError UploadError.properties_error: The supplied
        property group is invalid. The file has uploaded without property
        groups.
    :ivar files.UploadError.payload_too_large: The request payload must be at
        most 150 MB.
    :ivar files.UploadError.content_hash_mismatch: The content received by the
        Dropbox server in this call does not match the provided content hash.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param UploadWriteFailed val:
        :rtype: UploadError
        r   r   r2   r   r   r   r   E$  r5   zUploadError.pathc                 C   r1   )z
        Create an instance of this class set to the ``properties_error`` tag
        with value ``val``.

        :param file_properties.InvalidPropertyGroupError val:
        :rtype: UploadError
        rh   r   r2   r   r   r   rh   P$  r5   zUploadError.properties_errorc                 C   r6   r7   r8   r9   r   r   r   r:   [$  r;   zUploadError.is_pathc                 C   r6   ri   r8   r9   r   r   r   rj   c$  r;   zUploadError.is_properties_errorc                 C   r6   zX
        Check if the union tag is ``payload_too_large``.

        :rtype: bool
        payload_too_larger8   r9   r   r   r   is_payload_too_largek$  r;   z UploadError.is_payload_too_largec                 C   r6   z\
        Check if the union tag is ``content_hash_mismatch``.

        :rtype: bool
        content_hash_mismatchr8   r9   r   r   r   is_content_hash_mismatchs$  r;   z$UploadError.is_content_hash_mismatchc                 C   r6   r<   r8   r9   r   r   r   r=   {$  r;   zUploadError.is_otherc                 C   r>   )z
        Unable to save the uploaded contents to a file.

        Only call this if :meth:`is_path` is true.

        :rtype: UploadWriteFailed
        r@   rA   r9   r   r   r   rD   $  r   zUploadError.get_pathc                 C   r>   z
        The supplied property group is invalid. The file has uploaded without
        property groups.

        Only call this if :meth:`is_properties_error` is true.

        :rtype: file_properties.InvalidPropertyGroupError
        rk   rl   r9   r   r   r   rm   $  r  z UploadError.get_properties_errorc                    r   r   )r   r  r   r   r   r   r   r   $  r!   z'UploadError._process_custom_annotations)r$   r%   r&   r'   rG   r  r  r0   rH   r   rh   r:   rj   r  r  r=   rD   rm   r   r+   r   r   r   r   r  ,$  s$    



r  c                       sb   e Zd ZdZg dZdZ			dddZejdddZ	ed	Z
ejd
ddZ fddZ  ZS )UploadSessionAppendArga  
    :ivar files.UploadSessionAppendArg.cursor: Contains the upload session ID
        and the offset.
    :ivar files.UploadSessionAppendArg.close: If true, the current session will
        be closed, at which point you won't be able to call
        :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_append`
        anymore with the current session.
    :ivar files.UploadSessionAppendArg.content_hash: A hash of the file content
        uploaded in this call. If provided and the uploaded content does not
        match this hash, an error will be returned. For more information see our
        `Content hash
        <https://www.dropbox.com/developers/reference/content-hash>`_ page.
    )r  _close_valuery  TNc                 C   r   r   )r   r   r  r  ry  r  closer  )r   r  r  r  r   r   r   r   $  r   zUploadSessionAppendArg.__init__r  r{   r  r  ra   c                    r   r   )r   r  r   r   r   r   r   r   $  r!   z2UploadSessionAppendArg._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r  r  r   r+   r   r   r   r   r  $  s    

r  c                       s   e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZedd Zdd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z fddZ  ZS )UploadSessionLookupErrorao  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.UploadSessionLookupError.not_found: The upload session ID was
        not found or has expired. Upload sessions are valid for 7 days.
    :ivar UploadSessionOffsetError UploadSessionLookupError.incorrect_offset:
        The specified offset was incorrect. See the value for the correct
        offset. This error may occur when a previous request was received and
        processed successfully but the client did not receive the response, e.g.
        due to a network error.
    :ivar files.UploadSessionLookupError.closed: You are attempting to append
        data to an upload session that has already been closed (i.e. committed).
    :ivar files.UploadSessionLookupError.not_closed: The session must be closed
        before calling upload_session/finish_batch.
    :ivar files.UploadSessionLookupError.too_large: You can not append to the
        upload session because the size of a file should not reach the max file
        size limit (i.e. 350GB).
    :ivar files.UploadSessionLookupError.concurrent_session_invalid_offset: For
        concurrent upload sessions, offset needs to be multiple of 4194304
        bytes.
    :ivar files.UploadSessionLookupError.concurrent_session_invalid_data_size:
        For concurrent upload sessions, only chunks with size multiple of
        4194304 bytes can be uploaded.
    :ivar files.UploadSessionLookupError.payload_too_large: The request payload
        must be at most 150 MB.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``incorrect_offset`` tag
        with value ``val``.

        :param UploadSessionOffsetError val:
        :rtype: UploadSessionLookupError
        incorrect_offsetr   r2   r   r   r   r  %  r5   z)UploadSessionLookupError.incorrect_offsetc                 C   r6   r   r8   r9   r   r   r   r"  %  r;   z%UploadSessionLookupError.is_not_foundc                 C   r6   )zW
        Check if the union tag is ``incorrect_offset``.

        :rtype: bool
        r  r8   r9   r   r   r   is_incorrect_offset%  r;   z,UploadSessionLookupError.is_incorrect_offsetc                 C   r6   )zM
        Check if the union tag is ``closed``.

        :rtype: bool
        closedr8   r9   r   r   r   	is_closed%  r;   z"UploadSessionLookupError.is_closedc                 C   r6   )zQ
        Check if the union tag is ``not_closed``.

        :rtype: bool
        
not_closedr8   r9   r   r   r   is_not_closed'%  r;   z&UploadSessionLookupError.is_not_closedc                 C   r6   r!  r8   r9   r   r   r   r#  /%  r;   z%UploadSessionLookupError.is_too_largec                 C   r6   )zh
        Check if the union tag is ``concurrent_session_invalid_offset``.

        :rtype: bool
        !concurrent_session_invalid_offsetr8   r9   r   r   r   $is_concurrent_session_invalid_offset7%  r;   z=UploadSessionLookupError.is_concurrent_session_invalid_offsetc                 C   r6   )zk
        Check if the union tag is ``concurrent_session_invalid_data_size``.

        :rtype: bool
        $concurrent_session_invalid_data_sizer8   r9   r   r   r   'is_concurrent_session_invalid_data_size?%  r;   z@UploadSessionLookupError.is_concurrent_session_invalid_data_sizec                 C   r6   r  r8   r9   r   r   r   r  G%  r;   z-UploadSessionLookupError.is_payload_too_largec                 C   r6   r<   r8   r9   r   r   r   r=   O%  r;   z!UploadSessionLookupError.is_otherc                 C   r>   )a|  
        The specified offset was incorrect. See the value for the correct
        offset. This error may occur when a previous request was received and
        processed successfully but the client did not receive the response, e.g.
        due to a network error.

        Only call this if :meth:`is_incorrect_offset` is true.

        :rtype: UploadSessionOffsetError
        ztag 'incorrect_offset' not set)r  rB   rC   r9   r   r   r   get_incorrect_offsetW%  r0  z-UploadSessionLookupError.get_incorrect_offsetc                    r   r   )r   r  r   r   r   r   r   r   f%  r!   z4UploadSessionLookupError._process_custom_annotations)r$   r%   r&   r'   rG   r!  r  r  r"  r  r  r  r0   rH   r  r"  r  r  r  r#  r  r  r  r=   r  r   r+   r   r   r   r   r  $  s0    

r  c                       rJ   )UploadSessionAppendErrorax  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.UploadSessionAppendError.content_hash_mismatch: The content
        received by the Dropbox server in this call does not match the provided
        content hash.
    Nc                 C   r6   r  r8   r9   r   r   r   r  y%  r;   z1UploadSessionAppendError.is_content_hash_mismatchc                    r   r   )r   r  r   r   r   r   r   r   %  r!   z4UploadSessionAppendError._process_custom_annotations)r$   r%   r&   r'   r  r  r   r+   r   r   r   r   r  k%  s
    r  c                       r	   )UploadSessionCursoraq  
    :ivar files.UploadSessionCursor.session_id: The upload session ID (returned
        by :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_start`).
    :ivar files.UploadSessionCursor.offset: Offset in bytes at which data should
        be appended. We use this to make sure upload data isn't lost or
        duplicated in the event of a network error.
    _session_id_value_offset_valueTNc                 C   r   r   )r   r   r  r  
session_idoffset)r   r  r  r   r   r   r   %  r   zUploadSessionCursor.__init__r  r  c                    r   r   )r   r  r   r   r   r   r   r   %  r!   z/UploadSessionCursor._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r  r   r+   r   r   r   r   r  %  rG  r  c                       sf   e Zd ZdZg dZdZ			dddZejdddZ	ejd	ddZ
ejd
ddZ fddZ  ZS )UploadSessionFinishArga1  
    :ivar files.UploadSessionFinishArg.cursor: Contains the upload session ID
        and the offset.
    :ivar files.UploadSessionFinishArg.commit: Contains the path and other
        optional modifiers for the commit.
    :ivar files.UploadSessionFinishArg.content_hash: A hash of the file content
        uploaded in this call. If provided and the uploaded content does not
        match this hash, an error will be returned. For more information see our
        `Content hash
        <https://www.dropbox.com/developers/reference/content-hash>`_ page.
    )r  _commit_valuery  TNc                 C   r   r   )r   r   r  r  ry  r  commitr  )r   r  r  r  r   r   r   r   %  r   zUploadSessionFinishArg.__init__r  r{   r  r  ra   c                    r   r   )r   r  r   r   r   r   r   r   %  r!   z2UploadSessionFinishArg._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r  r  r   r+   r   r   r   r   r  %  s    
r  c                       r  )UploadSessionFinishBatchArgzq
    :ivar files.UploadSessionFinishBatchArg.entries: Commit information for each
        file in the batch.
    r   TNc                 C   r   r   r   r   r   r   r   r   %  r   z$UploadSessionFinishBatchArg.__init__r   c                    r   r   )r   r  r   r   r   r   r   r   %  r!   z7UploadSessionFinishBatchArg._process_custom_annotationsr   r   r   r   r   r   r  %  r  r  c                       rf   )
!UploadSessionFinishBatchJobStatusa  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar UploadSessionFinishBatchResult
        UploadSessionFinishBatchJobStatus.complete: The
        :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_finish_batch`
        has finished.
    c                 C   r1   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param UploadSessionFinishBatchResult val:
        :rtype: UploadSessionFinishBatchJobStatus
        r   r   r2   r   r   r   r   &  r5   z*UploadSessionFinishBatchJobStatus.completec                 C   r6   r   r8   r9   r   r   r   r   &  r;   z-UploadSessionFinishBatchJobStatus.is_completec                 C   r>   )z
        The
        :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_finish_batch`
        has finished.

        Only call this if :meth:`is_complete` is true.

        :rtype: UploadSessionFinishBatchResult
        r   r   r9   r   r   r   r   &     
z.UploadSessionFinishBatchJobStatus.get_completec                    r   r   )r   r  r   r   r   r   r   r   #&  r!   z=UploadSessionFinishBatchJobStatus._process_custom_annotationsr  r   r   r   r   r  %  s    

r  c                       r-   )UploadSessionFinishBatchLaunchat  
    Result returned by
    :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_finish_batch`
    that may either launch an asynchronous job or complete synchronously.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param UploadSessionFinishBatchResult val:
        :rtype: UploadSessionFinishBatchLaunch
        r   r   r2   r   r   r   r   7&  r5   z'UploadSessionFinishBatchLaunch.completec                 C   r6   r   r8   r9   r   r   r   r   B&  r;   z*UploadSessionFinishBatchLaunch.is_completec                 C   r6   r<   r8   r9   r   r   r   r=   J&  r;   z'UploadSessionFinishBatchLaunch.is_otherc                 C   r>   )zp
        Only call this if :meth:`is_complete` is true.

        :rtype: UploadSessionFinishBatchResult
        r   r   r9   r   r   r   r   R&  rE   z+UploadSessionFinishBatchLaunch.get_completec                    r   r   )r   r  r   r   r   r   r   r   \&  r!   z:UploadSessionFinishBatchLaunch._process_custom_annotationsr   r   r   r   r   r  (&  r   r  c                       r  )UploadSessionFinishBatchResultz
    :ivar files.UploadSessionFinishBatchResult.entries: Each entry in
        ``UploadSessionFinishBatchArg.entries`` will appear at the same position
        inside ``UploadSessionFinishBatchResult.entries``.
    r   TNc                 C   r   r   r   r   r   r   r   r   n&  r   z'UploadSessionFinishBatchResult.__init__r   c                    r   r   )r   r  r   r   r   r   r   r   w&  r!   z:UploadSessionFinishBatchResult._process_custom_annotationsr   r   r   r   r   r   r  a&  r  r  c                       r   )#UploadSessionFinishBatchResultEntryr/   Nc                 C   r1   )z
        Create an instance of this class set to the ``success`` tag with value
        ``val``.

        :param FileMetadata val:
        :rtype: UploadSessionFinishBatchResultEntry
        r   r   r2   r   r   r   r   &  r5   z+UploadSessionFinishBatchResultEntry.successc                 C   r1   )z
        Create an instance of this class set to the ``failure`` tag with value
        ``val``.

        :param UploadSessionFinishError val:
        :rtype: UploadSessionFinishBatchResultEntry
        r   r   r2   r   r   r   r   &  r5   z+UploadSessionFinishBatchResultEntry.failurec                 C   r6   r   r8   r9   r   r   r   r   &  r;   z.UploadSessionFinishBatchResultEntry.is_successc                 C   r6   r   r8   r9   r   r   r   r   &  r;   z.UploadSessionFinishBatchResultEntry.is_failurec                 C   r>   )z]
        Only call this if :meth:`is_success` is true.

        :rtype: FileMetadata
        r   r   r9   r   r   r   r   &  rE   z/UploadSessionFinishBatchResultEntry.get_successc                 C   r>   )zi
        Only call this if :meth:`is_failure` is true.

        :rtype: UploadSessionFinishError
        r   r   r9   r   r   r   r   &  rE   z/UploadSessionFinishBatchResultEntry.get_failurec                    r   r   )r   r  r   r   r   r   r   r   &  r!   z?UploadSessionFinishBatchResultEntry._process_custom_annotationsr   r   r   r   r   r  |&  r   r  c                       s   e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZedd Zedd Zedd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Z fd&d'Z  Z S )(UploadSessionFinishErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar UploadSessionLookupError UploadSessionFinishError.lookup_failed: The
        session arguments are incorrect; the value explains the reason.
    :ivar WriteError UploadSessionFinishError.path: Unable to save the uploaded
        contents to a file. Data has already been appended to the upload
        session. Please retry with empty data body and updated offset.
    :ivar InvalidPropertyGroupError UploadSessionFinishError.properties_error:
        The supplied property group is invalid. The file has uploaded without
        property groups.
    :ivar files.UploadSessionFinishError.too_many_shared_folder_targets: The
        batch request commits files into too many different shared folders.
        Please limit your batch request to files contained in a single shared
        folder.
    :ivar files.UploadSessionFinishError.too_many_write_operations: There are
        too many write operations happening in the user's Dropbox. You should
        retry uploading this file.
    :ivar files.UploadSessionFinishError.concurrent_session_data_not_allowed:
        Uploading data not allowed when finishing concurrent upload session.
    :ivar files.UploadSessionFinishError.concurrent_session_not_closed:
        Concurrent upload sessions need to be closed before finishing.
    :ivar files.UploadSessionFinishError.concurrent_session_missing_data: Not
        all pieces of data were uploaded before trying to finish the session.
    :ivar files.UploadSessionFinishError.payload_too_large: The request payload
        must be at most 150 MB.
    :ivar files.UploadSessionFinishError.content_hash_mismatch: The content
        received by the Dropbox server in this call does not match the provided
        content hash.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``lookup_failed`` tag with
        value ``val``.

        :param UploadSessionLookupError val:
        :rtype: UploadSessionFinishError
        lookup_failedr   r2   r   r   r   r  &  r5   z&UploadSessionFinishError.lookup_failedc                 C   r1   )z
        Create an instance of this class set to the ``path`` tag with value
        ``val``.

        :param WriteError val:
        :rtype: UploadSessionFinishError
        r   r   r2   r   r   r   r   '  r5   zUploadSessionFinishError.pathc                 C   r1   )z
        Create an instance of this class set to the ``properties_error`` tag
        with value ``val``.

        :param file_properties.InvalidPropertyGroupError val:
        :rtype: UploadSessionFinishError
        rh   r   r2   r   r   r   rh   '  r5   z)UploadSessionFinishError.properties_errorc                 C   r6   )zT
        Check if the union tag is ``lookup_failed``.

        :rtype: bool
        r  r8   r9   r   r   r   is_lookup_failed'  r;   z)UploadSessionFinishError.is_lookup_failedc                 C   r6   r7   r8   r9   r   r   r   r:   !'  r;   z UploadSessionFinishError.is_pathc                 C   r6   ri   r8   r9   r   r   r   rj   )'  r;   z,UploadSessionFinishError.is_properties_errorc                 C   r6   )ze
        Check if the union tag is ``too_many_shared_folder_targets``.

        :rtype: bool
        too_many_shared_folder_targetsr8   r9   r   r   r   !is_too_many_shared_folder_targets1'  r;   z:UploadSessionFinishError.is_too_many_shared_folder_targetsc                 C   r6   r   r8   r9   r   r   r   r   9'  r;   z5UploadSessionFinishError.is_too_many_write_operationsc                 C   r6   zj
        Check if the union tag is ``concurrent_session_data_not_allowed``.

        :rtype: bool
        #concurrent_session_data_not_allowedr8   r9   r   r   r   &is_concurrent_session_data_not_allowedA'  r;   z?UploadSessionFinishError.is_concurrent_session_data_not_allowedc                 C   r6   )zd
        Check if the union tag is ``concurrent_session_not_closed``.

        :rtype: bool
        concurrent_session_not_closedr8   r9   r   r   r    is_concurrent_session_not_closedI'  r;   z9UploadSessionFinishError.is_concurrent_session_not_closedc                 C   r6   )zf
        Check if the union tag is ``concurrent_session_missing_data``.

        :rtype: bool
        concurrent_session_missing_datar8   r9   r   r   r   "is_concurrent_session_missing_dataQ'  r;   z;UploadSessionFinishError.is_concurrent_session_missing_datac                 C   r6   r  r8   r9   r   r   r   r  Y'  r;   z-UploadSessionFinishError.is_payload_too_largec                 C   r6   r  r8   r9   r   r   r   r  a'  r;   z1UploadSessionFinishError.is_content_hash_mismatchc                 C   r6   r<   r8   r9   r   r   r   r=   i'  r;   z!UploadSessionFinishError.is_otherc                 C   r>   )z
        The session arguments are incorrect; the value explains the reason.

        Only call this if :meth:`is_lookup_failed` is true.

        :rtype: UploadSessionLookupError
        ztag 'lookup_failed' not set)r  rB   rC   r9   r   r   r   get_lookup_failedq'  r   z*UploadSessionFinishError.get_lookup_failedc                 C   r>   )a  
        Unable to save the uploaded contents to a file. Data has already been
        appended to the upload session. Please retry with empty data body and
        updated offset.

        Only call this if :meth:`is_path` is true.

        :rtype: WriteError
        r@   rA   r9   r   r   r   rD   }'  r  z!UploadSessionFinishError.get_pathc                 C   r>   r  rl   r9   r   r   r   rm   '  r  z-UploadSessionFinishError.get_properties_errorc                    r   r   )r   r  r   r   r   r   r   r   '  r!   z4UploadSessionFinishError._process_custom_annotations)!r$   r%   r&   r'   rG   r  r   r  r  r  r  r  r0   rH   r  r   rh   r  r:   rj   r  r   r  r  r  r  r  r=   r  rD   rm   r   r+   r   r   r   r   r  &  s@    !





r  c                       r  )UploadSessionOffsetErrorzv
    :ivar files.UploadSessionOffsetError.correct_offset: The offset up to which
        data has been collected.
    _correct_offset_valueTNc                 C   r   r   )r   r   r  correct_offset)r   r  r   r   r   r   '  r   z!UploadSessionOffsetError.__init__r  c                    r   r   )r   r  r   r   r   r   r   r   '  r!   z4UploadSessionOffsetError._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r   r+   r   r   r   r   r  '  r  r  c                       sd   e Zd ZdZg dZdZ			dddZedZ	ejdd	d	d
Z
ejdd	dZ fddZ  ZS )UploadSessionStartArga  
    :ivar files.UploadSessionStartArg.close: If true, the current session will
        be closed, at which point you won't be able to call
        :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_append`
        anymore with the current session.
    :ivar files.UploadSessionStartArg.session_type: Type of upload session you
        want to start. If not specified, default is
        ``UploadSessionType.sequential``.
    :ivar files.UploadSessionStartArg.content_hash: A hash of the file content
        uploaded in this call. If provided and the uploaded content does not
        match this hash, an error will be returned. For more information see our
        `Content hash
        <https://www.dropbox.com/developers/reference/content-hash>`_ page.
    )r  _session_type_valuery  FNc                 C   r   r   )r   r   r  r  ry  r  session_typer  )r   r  r  r  r   r   r   r   '  r   zUploadSessionStartArg.__init__r  r  TrZ   r  ra   c                    r   r   )r   r  r   r   r   r   r   r   '  r!   z1UploadSessionStartArg._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r  r  r   r+   r   r   r   r   r  '  s    

r  c                       sT   e Zd ZdZddgZdZ		dddZejdddd	Z	ed
Z
 fddZ  ZS )UploadSessionStartBatchArga   
    :ivar files.UploadSessionStartBatchArg.session_type: Type of upload session
        you want to start. If not specified, default is
        ``UploadSessionType.sequential``.
    :ivar files.UploadSessionStartBatchArg.num_sessions: The number of upload
        sessions to start.
    r  _num_sessions_valueTNc                 C   s4   t j| _t j| _|d ur|| _|d ur|| _d S d S r   )r   r   r  r  r  num_sessions)r   r  r  r   r   r   r   '  r   z#UploadSessionStartBatchArg.__init__r  rZ   r  c                    r   r   )r   r  r   r   r   r   r   r   (  r!   z6UploadSessionStartBatchArg._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r  r   r+   r   r   r   r   r  '  s    	

r  c                       r  )UploadSessionStartBatchResulta0  
    :ivar files.UploadSessionStartBatchResult.session_ids: A List of unique
        identifiers for the upload session. Pass each session_id to
        :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_append` and
        :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_finish`.
    _session_ids_valueTNc                 C   r   r   )r   r   r  session_ids)r   r  r   r   r   r   (  r   z&UploadSessionStartBatchResult.__init__r  c                    r   r   )r   r  r   r   r   r   r   r   '(  r!   z9UploadSessionStartBatchResult._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r   r+   r   r   r   r   r  (  r  r  c                       rQ  )UploadSessionStartErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.UploadSessionStartError.concurrent_session_data_not_allowed:
        Uploading data not allowed when starting concurrent upload session.
    :ivar files.UploadSessionStartError.concurrent_session_close_not_allowed:
        Can not start a closed concurrent upload session.
    :ivar files.UploadSessionStartError.payload_too_large: The request payload
        must be at most 150 MB.
    :ivar files.UploadSessionStartError.content_hash_mismatch: The content
        received by the Dropbox server in this call does not match the provided
        content hash.
    r0   Nc                 C   r6   r  r8   r9   r   r   r   r  I(  r;   z>UploadSessionStartError.is_concurrent_session_data_not_allowedc                 C   r6   )zk
        Check if the union tag is ``concurrent_session_close_not_allowed``.

        :rtype: bool
        $concurrent_session_close_not_allowedr8   r9   r   r   r   'is_concurrent_session_close_not_allowedQ(  r;   z?UploadSessionStartError.is_concurrent_session_close_not_allowedc                 C   r6   r  r8   r9   r   r   r   r  Y(  r;   z,UploadSessionStartError.is_payload_too_largec                 C   r6   r  r8   r9   r   r   r   r  a(  r;   z0UploadSessionStartError.is_content_hash_mismatchc                 C   r6   r<   r8   r9   r   r   r   r=   i(  r;   z UploadSessionStartError.is_otherc                    r   r   )r   r  r   r   r   r   r   r   q(  r!   z3UploadSessionStartError._process_custom_annotations)r$   r%   r&   r'   rG   r  r  r  r  r0   r  r  r  r  r=   r   r+   r   r   r   r   r  ,(  r[  r  c                       r  )UploadSessionStartResulta  
    :ivar files.UploadSessionStartResult.session_id: A unique identifier for the
        upload session. Pass this to
        :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_append` and
        :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_finish`.
    r  TNc                 C   r   r   )r   r   r  r  )r   r  r   r   r   r   (  r   z!UploadSessionStartResult.__init__r  c                    r   r   )r   r  r   r   r   r   r   r   (  r!   z4UploadSessionStartResult._process_custom_annotationsr   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r   r+   r   r   r   r   r  v(  r  r  c                       r  )UploadSessionTypea  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.UploadSessionType.sequential: Pieces of data are uploaded
        sequentially one after another. This is the default behavior.
    :ivar files.UploadSessionType.concurrent: Pieces of data can be uploaded in
        concurrent RPCs in any order.
    r0   Nc                 C   r6   )zQ
        Check if the union tag is ``sequential``.

        :rtype: bool
        
sequentialr8   r9   r   r   r   is_sequential(  r;   zUploadSessionType.is_sequentialc                 C   r6   )zQ
        Check if the union tag is ``concurrent``.

        :rtype: bool
        
concurrentr8   r9   r   r   r   is_concurrent(  r;   zUploadSessionType.is_concurrentc                 C   r6   r<   r8   r9   r   r   r   r=   (  r;   zUploadSessionType.is_otherc                    r   r   )r   r  r   r   r   r   r   r   (  r!   z-UploadSessionType._process_custom_annotations)r$   r%   r&   r'   rG   r  r  r0   r  r  r=   r   r+   r   r   r   r   r  (  s    r  c                       r  )UploadWriteFaileda~  
    :ivar files.UploadWriteFailed.reason: The reason why the file couldn't be
        saved.
    :ivar files.UploadWriteFailed.upload_session_id: The upload session ID; data
        has already been uploaded to the corresponding upload session and this
        ID may be used to retry the commit with
        :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_finish`.
    _reason_value_upload_session_id_valueTNc                 C   r   r   )r   r   r  r  reasonupload_session_id)r   r  r  r   r   r   r   (  r   zUploadWriteFailed.__init__r  r{   r  c                    r   r   )r   r  r   r   r   r   r   r   (  r!   z-UploadWriteFailed._process_custom_annotationsr"   )r$   r%   r&   r'   r(   r)   r   r   r*   r  r  r   r+   r   r   r   r   r  (  s    


r  c                       r   )
UserGeneratedTagr   TNc                 C   r   r   )r   r   r   r   )r   r   r   r   r   r   (  r   zUserGeneratedTag.__init__r   c                    r   r   )r   r  r   r   r   r   r   r   (  r!   z,UserGeneratedTag._process_custom_annotationsr   )r$   r%   r&   r(   r)   r   r   r*   r   r   r+   r   r   r   r   r  (  r   r  c                       sN   e Zd ZdZdgZdZ				d fdd	Zejddd	Z	 fd
dZ
  ZS )VideoMetadataz{
    Metadata for a video.

    :ivar files.VideoMetadata.duration: The duration of the video in
        milliseconds.
    r  FNc                    s2   t t| ||| tj| _|d ur|| _d S d S r   )r   r  r   r   r   r  r  )r   r>  r?  r@  r  r   r   r   r   )  s   
zVideoMetadata.__init__r  Tra   c                    r   r   )r   r  r   r   r   r   r   r   )  r!   z)VideoMetadata._process_custom_annotationsrA  )r$   r%   r&   r'   r(   r)   r   r   r*   r  r   r+   r   r   r   r   r  (  s    r  c                       r  )WriteConflictErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.WriteConflictError.file: There's a file in the way.
    :ivar files.WriteConflictError.folder: There's a folder in the way.
    :ivar files.WriteConflictError.file_ancestor: There's a file at an ancestor
        path, so we couldn't create the required parent folders.
    r0   Nc                 C   r6   )zK
        Check if the union tag is ``file``.

        :rtype: bool
        filer8   r9   r   r   r   is_file7)  r;   zWriteConflictError.is_filec                 C   r6   rX  r8   r9   r   r   r   rZ  ?)  r;   zWriteConflictError.is_folderc                 C   r6   )zT
        Check if the union tag is ``file_ancestor``.

        :rtype: bool
        file_ancestorr8   r9   r   r   r   is_file_ancestorG)  r;   z#WriteConflictError.is_file_ancestorc                 C   r6   r<   r8   r9   r   r   r   r=   O)  r;   zWriteConflictError.is_otherc                    r   r   )r   r  r   r   r   r   r   r   W)  r!   z.WriteConflictError._process_custom_annotations)r$   r%   r&   r'   rG   r  rY  r  r0   r  rZ  r  r=   r   r+   r   r   r   r   r  !)  s    r  c                       r  ) 
WriteErroraD  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar Optional[str] files.WriteError.malformed_path: The given path does not
        satisfy the required path format. Please refer to the :link:`Path
        formats documentation
        https://www.dropbox.com/developers/documentation/http/documentation#path-formats`
        for more information.
    :ivar WriteConflictError WriteError.conflict: Couldn't write to the target
        path because there was something in the way.
    :ivar files.WriteError.no_write_permission: The user doesn't have
        permissions to write to the target location.
    :ivar files.WriteError.insufficient_space: The user doesn't have enough
        available space (bytes) to write more data.
    :ivar files.WriteError.disallowed_name: Dropbox will not save the file or
        folder because of its name.
    :ivar files.WriteError.team_folder: This endpoint cannot move or delete team
        folders.
    :ivar files.WriteError.operation_suppressed: This file operation is not
        allowed at this path.
    :ivar files.WriteError.too_many_write_operations: There are too many write
        operations in user's Dropbox. Please retry this request.
    r0   Nc                 C   r1   )z
        Create an instance of this class set to the ``malformed_path`` tag with
        value ``val``.

        :param Optional[str] val:
        :rtype: WriteError
        r  r   r2   r   r   r   r  )  r5   zWriteError.malformed_pathc                 C   r1   )z
        Create an instance of this class set to the ``conflict`` tag with value
        ``val``.

        :param WriteConflictError val:
        :rtype: WriteError
        conflictr   r2   r   r   r   r  )  r5   zWriteError.conflictc                 C   r6   r  r8   r9   r   r   r   r  )  r;   zWriteError.is_malformed_pathc                 C   r6   )zO
        Check if the union tag is ``conflict``.

        :rtype: bool
        r  r8   r9   r   r   r   is_conflict)  r;   zWriteError.is_conflictc                 C   r6   r  r8   r9   r   r   r   r  )  r;   z!WriteError.is_no_write_permissionc                 C   r6   )zY
        Check if the union tag is ``insufficient_space``.

        :rtype: bool
        insufficient_spacer8   r9   r   r   r   is_insufficient_space)  r;   z WriteError.is_insufficient_spacec                 C   r6   )zV
        Check if the union tag is ``disallowed_name``.

        :rtype: bool
        disallowed_namer8   r9   r   r   r   is_disallowed_name)  r;   zWriteError.is_disallowed_namec                 C   r6   )zR
        Check if the union tag is ``team_folder``.

        :rtype: bool
        team_folderr8   r9   r   r   r   is_team_folder)  r;   zWriteError.is_team_folderc                 C   r6   )z[
        Check if the union tag is ``operation_suppressed``.

        :rtype: bool
        operation_suppressedr8   r9   r   r   r   is_operation_suppressed)  r;   z"WriteError.is_operation_suppressedc                 C   r6   r   r8   r9   r   r   r   r   )  r;   z'WriteError.is_too_many_write_operationsc                 C   r6   r<   r8   r9   r   r   r   r=   )  r;   zWriteError.is_otherc                 C   r>   r-  r.  r9   r   r   r   r/  )  r0  zWriteError.get_malformed_pathc                 C   r>   )z
        Couldn't write to the target path because there was something in the
        way.

        Only call this if :meth:`is_conflict` is true.

        :rtype: WriteConflictError
        ztag 'conflict' not set)r  rB   rC   r9   r   r   r   get_conflict)  r  zWriteError.get_conflictc                    r   r   )r   r  r   r   r   r   r   r   *  r!   z&WriteError._process_custom_annotations)r$   r%   r&   r'   rG   r  r  r  r  r  r   r0   rH   r  r  r  r  r  r  r  r  r  r   r=   r/  r  r   r+   r   r   r   r   r  \)  s4    



r  c                       sX   e Zd ZdZdZdZdZedd Zdd Z	dd Z
d	d
 Zdd Z fddZ  ZS )	WriteModeaW  
    Your intent when writing a file to some path. This is used to determine what
    constitutes a conflict and what the autorename strategy is. In some
    situations, the conflict behavior is identical: (a) If the target path
    doesn't refer to anything, the file is always written; no conflict. (b) If
    the target path refers to a folder, it's always a conflict. (c) If the
    target path refers to a file with identical contents, nothing gets written;
    no conflict. The conflict checking differs in the case where there's a file
    at the target path with contents different from the contents you're trying
    to write.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar files.WriteMode.add: Do not overwrite an existing file if there is a
        conflict. The autorename strategy is to append a number to the file
        name. For example, "document.txt" might become "document (2).txt".
    :ivar files.WriteMode.overwrite: Always overwrite the existing file. The
        autorename strategy is the same as it is for ``add``.
    :ivar str files.WriteMode.update: Overwrite if the given "rev" matches the
        existing file's "rev". The supplied value should be the latest known
        "rev" of the file, for example, from :type:`FileMetadata`, from when the
        file was last downloaded by the app. This will cause the file on the
        Dropbox servers to be overwritten if the given "rev" matches the
        existing file's current "rev" on the Dropbox servers. The autorename
        strategy is to append the string "conflicted copy" to the file name. For
        example, "document.txt" might become "document (conflicted copy).txt" or
        "document (Panda's conflicted copy).txt".
    Nc                 C   r1   )z
        Create an instance of this class set to the ``update`` tag with value
        ``val``.

        :param str val:
        :rtype: WriteMode
        ro  r   r2   r   r   r   ro  ,*  r5   zWriteMode.updatec                 C   r6   )zJ
        Check if the union tag is ``add``.

        :rtype: bool
        addr8   r9   r   r   r   is_add7*  r;   zWriteMode.is_addc                 C   r6   rq  r8   r9   r   r   r   rs  ?*  r;   zWriteMode.is_overwritec                 C   r6   rn  r8   r9   r   r   r   rp  G*  r;   zWriteMode.is_updatec                 C   r>   )a  
        Overwrite if the given "rev" matches the existing file's "rev". The
        supplied value should be the latest known "rev" of the file, for
        example, from :class:`FileMetadata`, from when the file was last
        downloaded by the app. This will cause the file on the Dropbox servers
        to be overwritten if the given "rev" matches the existing file's current
        "rev" on the Dropbox servers. The autorename strategy is to append the
        string "conflicted copy" to the file name. For example, "document.txt"
        might become "document (conflicted copy).txt" or "document (Panda's
        conflicted copy).txt".

        Only call this if :meth:`is_update` is true.

        :rtype: str
        ztag 'update' not set)rp  rB   rC   r9   r   r   r   
get_updateO*  s   zWriteMode.get_updatec                    r   r   )r   r  r   r   r   r   r   r   c*  r!   z%WriteMode._process_custom_annotations)r$   r%   r&   r'   rG   r  rr  rH   ro  r  rs  rp  r  r   r+   r   r   r   r   r  *  s    

r     zid:.+)
min_lengthpattern   )r  z/(.|[\r\n])*)r  z$/(.|[\r\n])*|id:.*|(ns:[0-9]+(/.*)?)z!(/(.|[\r\n])*)?|(ns:[0-9]+(/.*)?)z'(/(.|[\r\n])*)?|id:.*|(ns:[0-9]+(/.*)?)z9(/(.|[\r\n])*|id:.*)|(rev:[0-9a-f]{9,})|(ns:[0-9]+(/.*)?)	   z	[0-9a-f]+@   )r  
max_length    z[A-Za-z0-9_]+)r  r  r  z (/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)z((/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)|(id:.*)r   r   )r   r0   r0   rL   )r   rU   rV   rW   rX   rU   rV   rW   rX   r`   rh   )r   ru   rv   rw   rx   ry   rz   ru   rv   rw   rx   ry   rz   r   r   i'  )Z	max_items)r   rv   r   r   r   )r   r0   r   )r   r   r0   )r   r0   r   )r   r   r   r   )r   r0   r   )r   r   r   r   r0   )r   r   r  r  r  r   r   r  r  r  )r  rY  r  r  r  r  Fr
  r  r  )r   r  r0   r  )r   r"  r   r0   r"  r(  )r   r,  r.  r0  r0   r,  r.  r0  r6  r7  )r   r=  r>  r?  r=  r>  r?  rF  rG  )rJ  rL  rN  rP  rR  rT  rV  rY  r[  r]  r0   rJ  rL  rN  rP  rR  rT  rV  rY  r[  r]  ra  )rd  rc  r0   rd  )rm  rn  ro  rp  rm  rn  ro  rp  )r   rw   r{  r  r=  r|  r}  r~  r  r  ry   r  r  r  r{  r|  r}  r~  r  r  r  r  r  r  r  )r  r  r0   r  r  )r   r  r~  ry   r  )r  r  r  r  r  r  )r   r  r  r  r  r  )r   r  r  r  r0   r  r  r  g      N@g      @)Z	min_value	max_valuer  r  r  )r   r   r0   r  r  r  r  )r  r  r  r0   r  r  r  i  )
r   r  rU   rV   rW   r  r  r  rX   r  r  r  r  r  r  r  )r   r  r0   r  )r   r  r0      i  r  )r  r0   r  r  )r   r  r  r  d   )r   ru   r  )r   r   r0   )r  r  r   r  r  r  )	r   r   r   r  r  r  r  r  r0   r  r  r  r  )r  r!  r#  r%  r'  r)  r+  r0   r!  r#  r%  r'  r)  r+  )r2  r   r2  )r>  r?  r@  r>  r?  r@  )ZphotorV  r  r  )r   r0   )rE  r   r   r  rE  )Z	min_itemsrJ  )rM  r0   rM  )rS  rU  rW  rY  r0   rS  rU  rW  rY  r^  )r`  rb  rd  rf  r`  rb  rd  rf  )rE  rk  rl  r?  rk  rl  )ro  rr  rt  rv  r0   ro  rr  rt  rv  )r   r^  rz  r?  rz  )r   r}  r  r  r}  r  r  )r   r  r0   r  )r   r  r  r  r  r  r  r  r  r  )r  rv   rJ  r  )r  r  r  r  r  r  r   r  r  r  r  r  r  r  r0   r  r  r  r  r  r  r  )r  r  r   r0   )r   r   r   r  )r   r   r  r  r0   r  )r   r  r  r!  r   r0   r  r  )r   r  r  r!  r0   r  r  i  )r  i'  )r  )r   r  r  r  ru   r  r  r  )r   r  r  r0   r  r  )r  ra  r  r  r  )r  r  r
  r  r0   r  r
  r  )r   r  r  r  )r  r
  r  r  )r   r  r  r  r  r  r  r   r  r  r  r  r  r   )r#  r%  r0   r#  r%  )r*  r+  r  r*  r+  )r  r/  r0  r  r/  r0  )r*  r  r  r6  )rE  r   r6  )rp  r;  r<  r;  r<  r?  )rB  rE  rG  r0   rB  rE  rG  )rB  rE  r0   )r   rK  rM  r0   rK  rM  )rP  r0   )r   rU  r=  ru   rU  )r   r  rX  r[  rX  r[  )r^  r`  r^  r`  )rc  re  rg  rc  re  rg  )	rj  rl  rn  rp  rr  rt  rv  rx  rz  rj  rl  rn  rp  rr  rt  rv  rx  rz  )r~  rU  r=  ru   r~  )r   r  rX  r[  r  r!  r0   r  )r   rh   r  r  r0   r  r  )r  r  r  r  )	r!  r  r  r  r"  r  r  r  r0   r  r  r  r  r  r  )r  r  r  r  )r  r   rh   r  r   r  r  r  r  r  r0   r  r  r  r  r  )r  r  r  r  r  r  )r  r  r  r  r0   r  )r  r  r0   r  r  r  r  )r  rY  r  r0   r  r  )	r  r  r  r  r  r  r  r   r0   r  r  r  r  )r  rr  ro  r  T
   zalpha/get_metadatauserapiZrpc)authhoststylezalpha/uploaduploadcopy   
copy_batchzcopy_batch/checkzcopy_reference/getzcopy_reference/savecreate_foldercreate_folder_batchzcreate_folder_batch/checkdeletedelete_batchzdelete_batch/checkdownloaddownload_zipexportget_file_lock_batchr8  get_previewget_temporary_linkget_temporary_upload_linkget_thumbnailz	app, userget_thumbnail_batchlist_folderzlist_folder/continuezlist_folder/get_latest_cursorzlist_folder/longpollZnoauthnotifylist_revisionslock_file_batchmove
move_batchzmove_batch/checkzpaper/createzpaper/updatepermanently_deletezproperties/addzproperties/overwritezproperties/removezproperties/template/getzproperties/template/listzproperties/updaterestoresave_urlzsave_url/check_job_statussearchzsearch/continueztags/addztags/getztags/removeunlock_file_batchzupload_session/appendzupload_session/finishzupload_session/finish_batchz!upload_session/finish_batch/checkzupload_session/startzupload_session/start_batchzcopy:2zcopy_batch:2zcopy_batch/check:2zcreate_folder:2zdelete:2zget_thumbnail:2zmove:2zmove_batch:2zmove_batch/check:2zsearch:2zsearch/continue:2zupload_session/append:2zupload_session/finish_batch:2N(  r'   
__future__r   Zstone.backends.python_rsrcr   r   r   ZbvZdropboxr   r   r   r   Structr
   ZAddTagArg_validatorUnionr.   ZBaseTagError_validatorrK   ZAddTagError_validatorrO   ZGetMetadataArg_validatorr^   ZAlphaGetMetadataArg_validatorrc   ZGetMetadataError_validatorrg   ZAlphaGetMetadataError_validatorrn   ZCommitInfo_validatorr}   ZContentSyncSetting_validatorr   ZContentSyncSettingArg_validatorr   ZCreateFolderArg_validatorr   ZCreateFolderBatchArg_validatorr   Z CreateFolderBatchError_validatorZPollResultBaser   Z$CreateFolderBatchJobStatus_validatorZLaunchResultBaser   Z!CreateFolderBatchLaunch_validatorr   ZFileOpsResult_validatorr   Z!CreateFolderBatchResult_validatorr   Z&CreateFolderBatchResultEntry_validatorr   Z CreateFolderEntryError_validatorr   Z!CreateFolderEntryResult_validatorr   ZCreateFolderError_validatorr   ZCreateFolderResult_validatorr   ZDeleteArg_validatorr   ZDeleteBatchArg_validatorr   ZDeleteBatchError_validatorr   ZDeleteBatchJobStatus_validatorr   ZDeleteBatchLaunch_validatorr   ZDeleteBatchResult_validatorr   ZDeleteBatchResultData_validatorr   Z DeleteBatchResultEntry_validatorr   ZDeleteError_validatorr   ZDeleteResult_validatorr   Z
StructTreeZMetadata_validatorr  ZDeletedMetadata_validatorr  ZDimensions_validatorr  ZDownloadArg_validatorr  ZDownloadError_validatorr  ZDownloadZipArg_validatorr   ZDownloadZipError_validatorr%  ZDownloadZipResult_validatorr&  ZExportArg_validatorr+  ZExportError_validatorr3  ZExportInfo_validatorr8  ZExportMetadata_validatorrC  ZExportResult_validatorrI  ZFileCategory_validatorr_  ZFileLock_validatorrb  ZFileLockContent_validatorrh  ZFileLockMetadata_validatorrq  ZFileMetadata_validatorr  ZSharingInfo_validatorr  ZFileSharingInfo_validatorr  ZFileStatus_validatorr  ZFolderMetadata_validatorr  ZFolderSharingInfo_validatorr  ZGetCopyReferenceArg_validatorr  ZGetCopyReferenceError_validatorr  Z GetCopyReferenceResult_validatorr  ZGetTagsArg_validatorr  ZGetTagsResult_validatorr  ZGetTemporaryLinkArg_validatorr  ZGetTemporaryLinkError_validatorr  Z GetTemporaryLinkResult_validatorr  Z#GetTemporaryUploadLinkArg_validatorr  Z&GetTemporaryUploadLinkResult_validatorr  ZGetThumbnailBatchArg_validatorr  Z GetThumbnailBatchError_validatorr  Z!GetThumbnailBatchResult_validatorr  Z%GetThumbnailBatchResultData_validatorr  Z&GetThumbnailBatchResultEntry_validatorr  ZGpsCoordinates_validatorr  ZHighlightSpan_validatorr  ZImportFormat_validatorr  ZListFolderArg_validatorr  ZListFolderContinueArg_validatorr  Z!ListFolderContinueError_validatorr  ZListFolderError_validatorr  Z)ListFolderGetLatestCursorResult_validatorr  ZListFolderLongpollArg_validatorr  Z!ListFolderLongpollError_validatorr  Z"ListFolderLongpollResult_validatorr  ZListFolderResult_validatorr  ZListRevisionsArg_validatorr  ZListRevisionsError_validatorr  ZListRevisionsMode_validatorr  ZListRevisionsResult_validatorr  ZLockConflictError_validatorr  ZLockFileArg_validatorr	  ZLockFileBatchArg_validatorr
  ZLockFileBatchResult_validatorr  ZLockFileError_validatorr  ZLockFileResult_validatorr  ZLockFileResultEntry_validatorr  ZLookupError_validatorr1  ZMediaInfo_validatorr:  ZMediaMetadata_validatorrB  ZMetadataV2_validatorrC  Z!MinimalFileLinkMetadata_validatorrF  Z RelocationBatchArgBase_validatorrH  ZMoveBatchArg_validatorrK  ZMoveIntoFamilyError_validatorrP  ZMoveIntoVaultError_validatorrR  ZPaperContentError_validatorr\  ZPaperCreateArg_validatorr_  ZPaperCreateError_validatorrh  ZPaperCreateResult_validatorrm  ZPaperDocUpdatePolicy_validatorrx  ZPaperUpdateArg_validatorr|  ZPaperUpdateError_validatorr  ZPaperUpdateResult_validatorr  ZPathOrLink_validatorr  ZPathToTags_validatorr  ZPhotoMetadata_validatorr  ZPreviewArg_validatorr  ZPreviewError_validatorr  ZPreviewResult_validatorr  ZRelocationPath_validatorr  ZRelocationArg_validatorr  ZRelocationBatchArg_validatorr  ZRelocationError_validatorr  ZRelocationBatchError_validatorr  Z#RelocationBatchErrorEntry_validatorr  Z"RelocationBatchJobStatus_validatorr  ZRelocationBatchLaunch_validatorr  ZRelocationBatchResult_validatorr  Z#RelocationBatchResultData_validatorr  Z$RelocationBatchResultEntry_validatorr  Z$RelocationBatchV2JobStatus_validatorr  Z!RelocationBatchV2Launch_validatorr  Z!RelocationBatchV2Result_validatorr  ZRelocationResult_validatorr  ZRemoveTagArg_validatorr  ZRemoveTagError_validatorr  ZRestoreArg_validatorr  ZRestoreError_validatorr  ZSaveCopyReferenceArg_validatorr  Z SaveCopyReferenceError_validatorr  Z!SaveCopyReferenceResult_validatorr  ZSaveUrlArg_validatorr  ZSaveUrlError_validatorr  ZSaveUrlJobStatus_validatorr  ZSaveUrlResult_validatorr  ZSearchArg_validatorr  ZSearchError_validatorr  ZSearchMatch_validatorr  Z!SearchMatchFieldOptions_validatorr  ZSearchMatchType_validatorr  ZSearchMatchTypeV2_validatorr  ZSearchMatchV2_validatorr  ZSearchMode_validatorr  ZSearchOptions_validatorr"  ZSearchOrderBy_validatorr'  ZSearchResult_validatorr,  ZSearchV2Arg_validatorr1  ZSearchV2ContinueArg_validatorr3  ZSearchV2Result_validatorr4  ZSharedLink_validatorr7  ZSharedLinkFileInfo_validatorr8  ZSingleUserLock_validatorr=  ZSymlinkInfo_validatorr@  ZSyncSetting_validatorrI  ZSyncSettingArg_validatorrJ  ZSyncSettingsError_validatorrO  ZTag_validatorrS  ZThumbnailArg_validatorrV  ZThumbnailError_validatorr]  ZThumbnailFormat_validatorrb  ZThumbnailMode_validatorri  ZThumbnailSize_validatorr|  ZThumbnailV2Arg_validatorr  ZThumbnailV2Error_validatorr  ZUnlockFileArg_validatorr  ZUnlockFileBatchArg_validatorr  ZUploadArg_validatorr  ZUploadError_validatorr  Z UploadSessionAppendArg_validatorr  Z"UploadSessionLookupError_validatorr  Z"UploadSessionAppendError_validatorr  ZUploadSessionCursor_validatorr  Z UploadSessionFinishArg_validatorr  Z%UploadSessionFinishBatchArg_validatorr  Z+UploadSessionFinishBatchJobStatus_validatorr  Z(UploadSessionFinishBatchLaunch_validatorr  Z(UploadSessionFinishBatchResult_validatorr  Z-UploadSessionFinishBatchResultEntry_validatorr  Z"UploadSessionFinishError_validatorr  Z"UploadSessionOffsetError_validatorr  ZUploadSessionStartArg_validatorr  Z$UploadSessionStartBatchArg_validatorr  Z'UploadSessionStartBatchResult_validatorr  Z!UploadSessionStartError_validatorr  Z"UploadSessionStartResult_validatorr  ZUploadSessionType_validatorr  ZUploadWriteFailed_validatorr  ZUserGeneratedTag_validatorr  ZVideoMetadata_validatorr  ZWriteConflictError_validatorr  ZWriteError_validatorr  ZWriteMode_validatorZCopyBatchArg_validatorZCopyBatchArgStringZFileId_validatorZId_validatorZListFolderCursor_validatorZNullableZMalformedPathError_validatorZPath_validatorZPathOrId_validatorZPathR_validatorZPathROrId_validatorZReadPath_validatorZRev_validatorZSearchV2Cursor_validatorZSha256HexHash_validatorZSharedLinkUrl_validatorZTagText_validatorZWritePath_validatorZWritePathOrId_validatorr   	validatorr   setZ_all_field_names_Z_all_fields_Z_path_validatorZVoidZ_other_validatorZ_tagmapr0   Z_too_many_tags_validatorro  rL   BooleanrU   rV   rW   ZTemplateFilterBase_validatorrX   ListZTemplateId_validatorr`   unionZLookUpPropertiesError_validatorZ_properties_error_validatorru   rv   ZDropboxTimestamp_validatorrw   rx   ZPropertyGroup_validatorry   rz   r   r   r   r   Z_too_many_files_validatorr   Z_complete_validatorZ_failed_validatorr   Z_success_validatorZ_failure_validatorr   r   Z$_too_many_write_operations_validatorr   Z_path_lookup_validatorZ_path_write_validatorr   r   r  ZSharedFolderId_validatorr  r  Z_field_names__fields_Z_tag_to_subtype_Z_pytype_to_tag_and_subtype_Z_is_catch_all_ZUInt64r
  r  r  Z_unsupported_file_validatorr  Z_too_large_validatorr"  r(  Z_non_exportable_validatorZ _invalid_export_format_validatorZ_retry_error_validatorr,  r.  r0  r6  r7  r=  r>  ZInt64r?  rF  rG  Z_image_validatorZ_document_validatorZ_pdf_validatorZ_spreadsheet_validatorZ_presentation_validatorZ_audio_validatorZ_video_validatorZ_folder_validatorZ_paper_validatorZ_others_validatorrJ  rL  rN  rP  rR  rT  rV  rY  r[  r]  ra  Z_unlocked_validatorZ_single_user_validatorrd  rm  rn  ZAccountId_validatorro  rp  r{  r|  r}  r~  r  r  r  r  r  r  r  Z_active_validatorZ_deleted_validatorr  r  r  r  r  r  r  r  Z_email_not_verified_validatorZ_not_allowed_validatorr  r  r  r  ZFloat64r  r  r  r  r  r  Z_html_validatorZ_markdown_validatorZ_plain_text_validatorr  r  r  r  r  ZUInt32r  r  r  r  Z_reset_validatorr  ZTemplateError_validatorZ_template_error_validatorr  r  r  r  Z_id_validatorr  r  r  Z_no_write_permission_validatorZ_cannot_be_locked_validatorZ_file_not_shared_validatorZ_lock_conflict_validatorZ_internal_error_validatorr  r  r  r  Z_malformed_path_validatorZ_not_found_validatorZ_not_file_validatorZ_not_folder_validatorZ_restricted_content_validatorZ#_unsupported_content_type_validatorZ_locked_validatorr!  r#  r%  r'  r)  r+  Z_pending_validatorZ_metadata_validatorr2  r>  r?  r@  rE  rJ  Z_is_shared_folder_validatorrM  Z#_insufficient_permissions_validatorZ_content_malformed_validatorZ_doc_length_exceeded_validatorZ_image_size_exceeded_validatorrS  rU  rW  rY  r^  Z_invalid_path_validatorZ_email_unverified_validatorZ!_invalid_file_extension_validatorZ_paper_disabled_validatorr`  rb  rd  rf  rk  rl  Z_update_validatorZ_overwrite_validatorZ_prepend_validatorZ_append_validatorrr  rt  rv  rz  Z_revision_mismatch_validatorZ_doc_archived_validatorZ_doc_deleted_validatorr}  r  r  Z_link_validatorr  Z_in_progress_validatorZ _unsupported_extension_validatorZ_unsupported_content_validatorr  r  r  r  r  r  r  Z_from_lookup_validatorZ_from_write_validatorZ_to_validatorZ"_cant_copy_shared_folder_validatorZ"_cant_nest_shared_folder_validatorZ'_cant_move_folder_into_itself_validatorZ%_duplicated_or_nested_paths_validatorZ"_cant_transfer_ownership_validatorZ_insufficient_quota_validatorZ"_cant_move_shared_folder_validatorZ_cant_move_into_vault_validatorZ _cant_move_into_family_validatorr  r  r  r  r  r  r  Z_relocation_error_validatorZ_tag_not_present_validatorr  Z_invalid_revision_validatorr  Z!_invalid_copy_reference_validatorZ_no_permission_validatorr  r  Z_download_failed_validatorZ_invalid_url_validatorr  r  r  r  r  Z_invalid_argument_validatorr  r  Z_filename_validatorZ_content_validatorZ_both_validatorr  r  Z_file_content_validatorZ_filename_and_content_validatorZ_image_content_validatorr  r
  r  r  Z_deleted_filename_validatorr  r  r  r  r  r  r   Z_relevance_validatorZ_last_modified_time_validatorr#  r%  r*  r+  r/  r0  r6  r;  r<  r?  Z_default_validatorZ_not_synced_validatorZ_not_synced_inactive_validatorrB  rE  rG  Z"_unsupported_combination_validatorZ$_unsupported_configuration_validatorrK  rM  Z_user_generated_tag_validatorrU  Z_unsupported_image_validatorZ_conversion_error_validatorrX  r[  Z_jpeg_validatorZ_png_validatorr^  r`  Z_strict_validatorZ_bestfit_validatorZ_fitone_bestfit_validatorrc  re  rg  Z_w32h32_validatorZ_w64h64_validatorZ_w128h128_validatorZ_w256h256_validatorZ_w480h320_validatorZ_w640h480_validatorZ_w960h640_validatorZ_w1024h768_validatorZ_w2048h1536_validatorrj  rl  rn  rp  rr  rt  rv  rx  rz  r~  Z_access_denied_validatorr  Z#InvalidPropertyGroupError_validatorZ_payload_too_large_validatorZ _content_hash_mismatch_validatorr  r  r  Z_incorrect_offset_validatorZ_closed_validatorZ_not_closed_validatorZ,_concurrent_session_invalid_offset_validatorZ/_concurrent_session_invalid_data_size_validatorr  r  r  r  r  r  r  Z_lookup_failed_validatorZ)_too_many_shared_folder_targets_validatorZ._concurrent_session_data_not_allowed_validatorZ(_concurrent_session_not_closed_validatorZ*_concurrent_session_missing_data_validatorr  r  r  r  r  r  r  r  Z/_concurrent_session_close_not_allowed_validatorr  Z_sequential_validatorZ_concurrent_validatorr  r  r  r  Z_file_validatorZ_file_ancestor_validatorr  r  Z_conflict_validatorZ_insufficient_space_validatorZ_disallowed_name_validatorZ_team_folder_validatorZ_operation_suppressed_validatorr  r  r  r  Z_add_validatorr  ZRouteZalpha_get_metadataZalpha_uploadZcopy_v2r   Zcopy_batch_v2r  ZPollArg_validatorZPollError_validatorZcopy_batch_check_v2Zcopy_batch_checkZcopy_reference_getZcopy_reference_saveZcreate_folder_v2r  r  Zcreate_folder_batch_checkZ	delete_v2r  r  Zdelete_batch_checkr  r  r	  r
  r8  r  r  r  r  Zget_thumbnail_v2r  r  Zlist_folder_continueZlist_folder_get_latest_cursorZlist_folder_longpollr  r  Zmove_v2r  Zmove_batch_v2r  Zmove_batch_check_v2Zmove_batch_checkZpaper_createZpaper_updater  ZAddPropertiesArg_validatorZAddPropertiesError_validatorZproperties_addZ#OverwritePropertyGroupArg_validatorZproperties_overwriteZRemovePropertiesArg_validatorZRemovePropertiesError_validatorZproperties_removeZGetTemplateArg_validatorZGetTemplateResult_validatorZproperties_template_getZListTemplateResult_validatorZproperties_template_listZUpdatePropertiesArg_validatorZUpdatePropertiesError_validatorZproperties_updater  r  Zsave_url_check_job_statusr  Z	search_v2Zsearch_continue_v2Ztags_addZtags_getZtags_remover  r  Zupload_session_append_v2Zupload_session_appendZupload_session_finishZupload_session_finish_batchZupload_session_finish_batch_v2Z!upload_session_finish_batch_checkZupload_session_startZupload_session_start_batchZROUTESr   r   r   r   <module>   s  
!
3

B
#
)
'
\
!
!
!
-
#
Y
7


F
3

)

"

%
Y
6


F
i

H

"
 
A

L

%
X
%
8
! 


C
5 
4

&
*
A
>

3
,



]
!
&


#

 
U
"
"
=
z

B
P

(
%
%
/
,
3
0
,



 
#
 
F 

9
,
5
7
#

#
#
H
"
<
4
H
6
M

P
 

 
R
$
"
0
&  %RM7P1+! q"f!XI,D]!3I+0^*/5/ /+=0L96R 1p7s(s1 #/07F X2#H/$ 9 )`

  

 




 


 
 
 






"


 
  






&

 




 






 





 $


 $ $




	



 



 $












 $



 


 

	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDE