+
    TŎi:                     D    ^ RI t ^ RIt^ RIHt ^ RIHt  ! R R]4      tR# )    N)Gender)	Normalizec            '       2	  a  ] tR t^t o Rt/ RRbRRbRRbRRbRRbR	RbR
RbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRRRRRRRRRRRRRRRRRRRR R /Ct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!R!R!R!R!R!R!R!3'R" lt]R# 4       t]P                  R$ 4       t]R% 4       t
]
P                  R& 4       t
]R' 4       t]P                  R( 4       t]R) 4       t]P                  R* 4       t]R+ 4       t]P                  R, 4       t]R- 4       t]P                  R. 4       t]R/ 4       t]P                  R0 4       t]R1 4       t]P                  R2 4       t]R3 4       t]P                  R4 4       t]R5 4       t]P                  R6 4       t]R7 4       t]P                  R8 4       t]R9 4       t]P                  R: 4       t]R; 4       t]P                  R< 4       t]R= 4       t]P                  R> 4       t]R? 4       t]P                  R@ 4       t]RA 4       t]P                  RB 4       t]RC 4       t]P                  RD 4       t]RE 4       t]P                  RF 4       t]RG 4       t]P                  RH 4       t]RI 4       t]P                  RJ 4       t]RK 4       t]P                  RL 4       t]RM 4       t]P                  RN 4       t]RO 4       t]P                  RP 4       t]RQ 4       t ] P                  RR 4       t ]RS 4       t!]!P                  RT 4       t!]RU 4       t"]"P                  RV 4       t"]RW 4       t#]#P                  RX 4       t#]RY 4       t$]$P                  RZ 4       t$]R[ 4       t%]%P                  R\ 4       t%]R] 4       t&]&P                  R^ 4       t&]R_ 4       t']'P                  R` 4       t']Ra 4       t(](P                  Rb 4       t(]Rc 4       t)])P                  Rd 4       t)]Re 4       t*]*P                  Rf 4       t*]Rg 4       t+]+P                  Rh 4       t+]Ri 4       t,],P                  Rj 4       t,]Rk 4       t-]-P                  Rl 4       t-]Rm 4       t.].P                  Rn 4       t.]Ro 4       t/]/P                  Rp 4       t/Rq t0Rr t1Rs t2Rt t3Ru t4Rv t5Rw t6Rx t7Ryt8V t9R!# )zUserDatazsCannot set both {} and {} parameters via constructor. Please set either the singular or plural parameter, not both.emailsz	list[str]phonesgenderszlist[Gender]dates_of_birth
last_namesfirst_namescitiesstatescountry_codes	zip_codesexternal_idsclient_ip_addressstrclient_user_agentfbcfbpsubscription_idfb_login_idlead_idf5firstf5lastfidobddobmdobymadidanon_id	ctwa_clidpage_idNc(                	   RV n         RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n	        RV n
        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        Ve.   Ve*   \9        \:        P<                  P?                  RR4      4      hVe.   Ve*   \9        \:        P<                  P?                  RR4      4      hVe.   Ve*   \9        \:        P<                  P?                  RR4      4      hVe.   Ve*   \9        \:        P<                  P?                  RR	4      4      hVe.   Ve*   \9        \:        P<                  P?                  R
R4      4      hVe.   Ve*   \9        \:        P<                  P?                  RR4      4      hVe.   Ve*   \9        \:        P<                  P?                  RR4      4      hVe.   V e*   \9        \:        P<                  P?                  RR4      4      hV	e.   V!e*   \9        \:        P<                  P?                  RR4      4      hV
e.   V"e*   \9        \:        P<                  P?                  RR4      4      hVe.   V#e*   \9        \:        P<                  P?                  RR4      4      hVe   Wn         MVe   VV n!        Ve   W n"        MVe   VV n#        Ve   W0n$        MVe   VV n%        Ve   W@n&        MVe   VV n'        Ve   WPn(        MVe   VV n)        Ve   W`n*        MVe   VV n+        Ve   Wpn,        MVe   VV n-        Ve   Wn.        MV e   V V n/        V	e   Wn0        MV!e   V!V n1        V
e   Wn2        MV"e   V"V n3        Ve   Wn4        MV#e   V#V n5        Ve   Wn6        Ve   Wn7        Ve   Wn8        Ve   Wn9        Ve   VV n:        Ve   VV n;        Ve   VV n<        Ve   VV n=        Ve   VV n>        Ve   VV n?        Ve   VV n@        Ve   VV nA        Ve   VV nB        V$e   V$V nC        V%e   V%V nD        V&e   V&V nE        V'e
   V'V nF        R# R# )zJUserData is a set of identifiers Facebook can use for targeted attributionNemailr   phoner   genderr	   date_of_birthr
   	last_namer   
first_namer   cityr   stater   country_coder   zip_coder   external_idr   )G_emails_phones_genders_dates_of_birth_last_names_first_names_cities_states_country_codes
_zip_codes_external_ids_client_ip_address_client_user_agent_fbc_fbp_subscription_id_fb_login_id_lead_id_f5first_f5last_fi_dobd_dobm_doby_madid_anon_id
_ctwa_clid_page_id
ValueErrorr   multi_value_constructor_errformatr%   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   r   r   r    r!   r"   r#   )(selfr%   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   r   r   r    r!   r"   r#   s(   &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/Users/ahmad/.openclaw/workspace/scripts/.venv/lib/python3.14/site-packages/facebook_business/adobjects/serverside/user_data.py__init__UserData.__init__>   s   Z # "!"&"&		 $ 


!3XAAHHRZ[\\!3XAAHHRZ[\\'"5XAAHHS\]^^$)CXAAHHZjkll Z%;XAAHHVbcdd!k&=XAAHHWdeff 2XAAHHQYZ[[!3XAAHHRZ[\\#(AXAAHHYhijjI$9XAAHHU`abb"|'?XAAHHXfghhJ DKJ DK K "DL$!.'"0D &N#(DO!(O$*DI DKJ DK# ,&!.D$M"&DN"*% ,D(%6"(%6"?H?H&#2D "*D"DL"DL DK>DGDIDIDIDJ"DL &DN"DL     c                P    V P                   '       d   V P                   ^ ,          # R# )zRGets the email.

An email address, in lowercase.

:return: The email.
:rtype: str
Nr0   rO   s   &rP   r%   UserData.email        #',,,t||A8D8rS   c                0    Ve   V.V n         R# RV n         R# )zVSets the email.

An email address, in lowercase.

:param email: The email.
:type: str
NrU   )rO   r%   s   &&rP   r%   rW           #("3wrS   c                    V P                   # )zcGets the emails.

A list of email addresses, in lowercase.

:return: The emails.
:rtype: list[str]
rU   rV   s   &rP   r   UserData.emails       ||rS   c                    Wn         R# )znSets the emails.

A list of email addresses, in lowercase.

:param emails: A list of emails.
:type: list[str]
NrU   )rO   r   s   &&rP   r   r\     	     rS   c                P    V P                   '       d   V P                   ^ ,          # R# )zGets the phone.

A phoneone number. Include only digits with country code, area code, and number.

:return: The phone.
:rtype: str
Nr1   rV   s   &rP   r&   UserData.phone  rX   rS   c                0    Ve   V.V n         R# RV n         R# )zSets the phone.

A phone number. Include only digits with country code, area code, and number.

:param phone: The phone.
:type: str
Nra   )rO   r&   s   &&rP   r&   rb   (  rZ   rS   c                    V P                   # )zGets the phones.

A list of phone numbers. Include only digits with country code, area code, and number.

:return: The phone numbers.
:rtype: list[str]
ra   rV   s   &rP   r   UserData.phones4  r]   rS   c                    Wn         R# )zSets the phones.

A list of phone numbers. Include only digits with country code, area code, and number.

:param phones: A list of phones.
:type: list[str]
Nra   )rO   r   s   &&rP   r   re   ?  r_   rS   c                P    V P                   '       d   V P                   ^ ,          # R# )z\Gets the gender.

Gender, in lowercase. Either f or m.

:return: The gender.
:rtype: Gender
Nr2   rV   s   &rP   r'   UserData.genderK  s      $(===t}}Q:d:rS   c                d    Vf   R# \        V\        4      '       g   \        R4      hV.V n        R# )zaSets the gender.

Gender, in lowercase. Either f or m.

:param gender: The gender.
:type: Gender
Nz&UserData.gender must be of type Gender)
isinstancer   	TypeErrorr2   )rO   r'   s   &&rP   r'   ri   V  s.     >&&))DEErS   c                    V P                   # )zuGets the genders.

A list of genders, in lowercase. Either f or m.

:return: A list of genders.
:rtype: list[Gender]
rh   rV   s   &rP   r	   UserData.gendersf       }}rS   c                    V'       dF   \         ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   \        R4      hWn        R# )zoSets the genders.

A list of Genders, in lowercase. Either f or m.

:param genders: The genders.
:type: Gender
c              3   B   "   T F  p\        V\        4      x  K  	  R # 5iN)rk   r   ).0r'   s   & rP   	<genexpr>#UserData.genders.<locals>.<genexpr>z  s     Qv
66 : :s   FTz-UserData.genders must be of type list[Gender]N)allrl   r2   )rO   r	   s   &&rP   r	   rn   q  s8     CCQQCCCQQQQKLLrS   c                P    V P                   '       d   V P                   ^ ,          # R# )zfGets the date of birth.

A date of birth given as YYYYMMDD.


:return: The date of birth.
:rtype: str
Nr3   rV   s   &rP   r(   UserData.date_of_birth  s%     +/*>*>*>t##A&HDHrS   c                0    Ve   V.V n         R# RV n         R# )zqSets the date of birth.

A date of birth given as YYYYMMDD.

:param date_of_birth: The date of birth.
:type: str
Nrx   )rO   r(   s   &&rP   r(   ry     s     3@2KQUrS   c                    V P                   # )zwGets the dates of birth.

A list of dates of birth given as YYYYMMDD.


:return: The dates of birth.
:rtype: list[str]
rx   rV   s   &rP   r
   UserData.dates_of_birth  s     ###rS   c                    Wn         R# )zSets the dates of birth.

A list of dates of birth given as YYYYMMDD.

:param dates_of_birth: The dates of birth.
:type: list[str]
Nrx   )rO   r
   s   &&rP   r
   r|     s
      .rS   c                P    V P                   '       d   V P                   ^ ,          # R# )zTGets the last_name.

A last name in lowercase.

:return: The last name.
:rtype: str
Nr4   rV   s   &rP   r)   UserData.last_name  s%     '+&6&6&6t"@D@rS   c                0    Ve   V.V n         R# RV n         R# )z\Sets the last name.

A last name in lowercase.

:param last_name: The last name.
:type: str
Nr   )rO   r)   s   &&rP   r)   r     s     +4*?I;TrS   c                    V P                   # )zeGets the last_names.

A list of last names in lowercase.

:return: The last names.
:rtype: list[str]
r   rV   s   &rP   r   UserData.last_names  s     rS   c                    Wn         R# )znSets the last names.

A list of last names in lowercase.

:param last_names: The last names.
:type: list[str]
Nr   )rO   r   s   &&rP   r   r     s
     &rS   c                P    V P                   '       d   V P                   ^ ,          # R# )zWGets the first name.

A first name in lowercase.

:return: The first name.
:rtype: str
Nr5   rV   s   &rP   r*   UserData.first_name  s%     (,'8'8'8t  #BdBrS   c                0    Ve   V.V n         R# RV n         R# )z`Sets the first name.

A first name in lowercase.

:param first_name: The first name.
:type: str
Nr   )rO   r*   s   &&rP   r*   r     s     -7,BZLrS   c                    V P                   # )zhGets the first names.

A list of first names in lowercase.

:return: The first names.
:rtype: list[str]
r   rV   s   &rP   r   UserData.first_names          rS   c                    Wn         R# )zrSets the first names.

A list of first names in lowercase.

:param first_names: The first names.
:type: list[str]
Nr   )rO   r   s   &&rP   r   r     
     (rS   c                P    V P                   '       d   V P                   ^ ,          # R# )zdGets the city.

A city in lower-case without spaces or punctuation.

:return: The city.
:rtype: str
Nr6   rV   s   &rP   r+   UserData.city  rX   rS   c                0    Ve   V.V n         R# RV n         R# )zgSets the city.

A city in lower-case without spaces or punctuation.

:param city: The city.
:type: str
Nr   )rO   r+   s   &&rP   r+   r     s     "&!1vtrS   c                    V P                   # )zxGets the cities.

A list of cities in lower-case without spaces or punctuation.

:return: The cities.
:rtype: list[str]
r   rV   s   &rP   r   UserData.cities"  r]   rS   c                    Wn         R# )z}Sets the cities.

A list of cities in lower-case without spaces or punctuation.

:param cities: The cities.
:type: list[str]
Nr   )rO   r   s   &&rP   r   r   -  r_   rS   c                P    V P                   '       d   V P                   ^ ,          # R# )zXGets the state.

A two-letter state code in lowercase.

:return: The state.
:rtype: str
Nr7   rV   s   &rP   r,   UserData.state9  rX   rS   c                0    Ve   V.V n         R# RV n         R# )z\Sets the state.

A two-letter state code in lowercase.

:param state: The state.
:type: str
Nr   )rO   r,   s   &&rP   r,   r   D  rZ   rS   c                    V P                   # )ziGets the states.

A list of two-letter state codes in lowercase.

:return: The states.
:rtype: list[str]
r   rV   s   &rP   r   UserData.statesP  r]   rS   c                    Wn         R# )znSets the states.

A list of two-letter state codes in lowercase.

:param states: The states.
:type: list[str]
Nr   )rO   r   s   &&rP   r   r   [  r_   rS   c                P    V P                   '       d   V P                   ^ ,          # R# )zhGets the country code.

 A two-letter country code in lowercase

:return: The country code.
:rtype: str
Nr8   rV   s   &rP   r-   UserData.country_codeg  s%     *.)<)<)<t""1%F$FrS   c                0    Ve   V.V n         R# RV n         R# )z_Sets a two-letter country code in lowercase.

:param country_code: The country code
:type: str
Nr   )rO   r-   s   &&rP   r-   r   r  s     1=0H|ndrS   c                    V P                   # )zyGets the country codes.

 A list of two-letter country codes in lowercase

:return: The country codes.
:rtype: list[str]
r   rV   s   &rP   r   UserData.country_codes|  s     """rS   c                    Wn         R# )zpSets a list of two-letter country codes in lowercase.

:param country_codes: The country codes
:type: list[str]
Nr   )rO   r   s   &&rP   r   r     s
     ,rS   c                P    V P                   '       d   V P                   ^ ,          # R# )zGets the zipcode.

TFor the United States, this is a five-digit zip code.
For other locations, follow each country's standards.

:return: The zipcode.
:rtype: str
Nr9   rV   s   &rP   r.   UserData.zip_code  s      &*___tq!>$>rS   c                0    Ve   V.V n         R# RV n         R# )zSets the zipcode.

For the United States, this is a five-digit zip code.
For other locations, follow each country's standards.

:param zip_code: The zipcode.
:type: str
Nr   )rO   r.   s   &&rP   r.   r     s     )1(<8*$rS   c                    V P                   # )zGets the zipcodes.

For the United States, this is a list of five-digit zip codes.
For other locations, follow each country's standards.

:return: The zipcodes.
:rtype: list[str]
r   rV   s   &rP   r   UserData.zip_codes  s     rS   c                    Wn         R# )zSets the zipcodes.

For the United States, this is a list of five-digit zip codes.
For other locations, follow each country's standards.

:param zip_codes: The zipcodes.
:type: list[str]
Nr   )rO   r   s   &&rP   r   r     s	     $rS   c                P    V P                   '       d   V P                   ^ ,          # R# )a  Gets the external id.

Any unique ID from the advertiser, such as loyalty membership IDs, user IDs, and external cookie IDs.
In the Offline Conversions API (https://www.facebook.com/business/help/104039186799009),
this is known as extern_id. For more information, see Offline Conversions, Providing External IDs. If
External ID is being sent via other channels, then it should be sent in the same format via the Conversions API.

:return: The external id.
:rtype: str
Nr:   rV   s   &rP   r/   UserData.external_id  s%     )-(:(:(:t!!!$DDrS   c                0    Ve   V.V n         R# RV n         R# )a  Sets the external id.

Any unique ID from the advertiser, such as loyalty membership IDs, user IDs, and external cookie IDs.
In the Offline Conversions API (https://www.facebook.com/business/help/104039186799009),
this is known as extern_id. For more information, see Offline Conversions, Providing External IDs. If
External ID is being sent via other channels, then it should be sent in the same format via the Conversions API.

:param external_id: The external id.
:type: str
Nr   )rO   r/   s   &&rP   r/   r     s     /:.Ek]4rS   c                    V P                   # )a  Gets the external ids.

A list of any unique IDs from the advertiser, such as loyalty membership IDs, user IDs, and external cookie IDs.
In the Offline Conversions API (https://www.facebook.com/business/help/104039186799009),
this is known as extern_id. For more information, see Offline Conversions, Providing External IDs. If
External ID is being sent via other channels, then it should be sent in the same format via the Conversions API.

:return: The external ids.
:rtype: list[str]
r   rV   s   &rP   r   UserData.external_ids  s     !!!rS   c                    Wn         R# )a  Sets the external ids.

A list of any unique IDs from the advertiser, such as loyalty membership IDs, user IDs, and external cookie IDs.
In the Offline Conversions API (https://www.facebook.com/business/help/104039186799009),
this is known as extern_id. For more information, see Offline Conversions, Providing External IDs. If
External ID is being sent via other channels, then it should be sent in the same format via the Conversions API.

:param external_ids: The external ids.
:type: list[str]
Nr   )rO   r   s   &&rP   r   r     s
     *rS   c                    V P                   # )zGets the client ip address.

The IP address of the browser corresponding to the event.

:return: The client ip address.
:rtype: str
r;   rV   s   &rP   r   UserData.client_ip_address       &&&rS   c                    Wn         R# )zSets the client ip address.

The IP address of the browser corresponding to the event.

:param client_ip_address: The client ip address.
:type: str
Nr   )rO   r   s   &&rP   r   r     
     #4rS   c                    V P                   # )zGets the client user agent.

The user agent for the browser corresponding to the event.

:return: The client user agent.
:rtype: str
r<   rV   s   &rP   r   UserData.client_user_agent  r   rS   c                    Wn         R# )zSets the client user agent.

The user agent for the browser corresponding to the event.

:param client_user_agent: The client user agent.
:type: str
Nr   )rO   r   s   &&rP   r   r     r   rS   c                    V P                   # )ah  Gets the fbc.

The Facebook click ID value stored in the _fbc browser cookie under your domain.
See Managing fbc and fbp Parameters for how to get this value
(https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters#fbc),
or generate this value from a fbclid query parameter.

:return: The fbc.
:rtype: str
r=   rV   s   &rP   r   UserData.fbc+       yyrS   c                    Wn         R# )aj  Sets the fbc.

The Facebook click ID value stored in the _fbc browser cookie under your domain.
See Managing fbc and fbp Parameters for how to get this value
(https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters#fbc),
or generate this value from a fbclid query parameter.

:param fbc: The fbc.
:type: str
Nr   )rO   r   s   &&rP   r   r   9  	     	rS   c                    V P                   # )aj  Gets the fbp.

The Facebook browser ID value stored in the _fbp browser cookie under your domain.
See Managing fbc and fbp Parameters for how to get this value
(https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters#fbc),
or generate this value from a fbclid query parameter.

:return: The fbp.
:rtype: str
r>   rV   s   &rP   r   UserData.fbpH  r   rS   c                    Wn         R# )al  Sets the fbp.

The Facebook browser ID value stored in the _fbp browser cookie under your domain.
See Managing fbc and fbp Parameters for how to get this value
(https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters#fbc),
or generate this value from a fbclid query parameter.

:param fbp: The fbp.
:type: str
Nr   )rO   r   s   &&rP   r   r   V  r   rS   c                    V P                   # )zGets the subscription id.

The subscription ID for the user in this transaction. This is similar to the order ID for an individual product.

:return: The subscription id.
:rtype: str
r?   rV   s   &rP   r   UserData.subscription_ide  s     $$$rS   c                    Wn         R# )zSets the subscription id.

The subscription ID for the user in this transaction. This is similar to the order ID for an individual product.

:param subscription_id: The subscription id.
:type: str
Nr   )rO   r   s   &&rP   r   r   p  s
     !0rS   c                    V P                   # )zGets the Facebook login id.

ID issued by Facebook when a person first logs into an instance of an app. This is also known as App-Scoped ID.

:return: The Facebook login id.
:rtype: str
r@   rV   s   &rP   r   UserData.fb_login_id|  r   rS   c                    Wn         R# )zSets the Facebook login id.

ID issued by Facebook when a person first logs into an instance of an app. This is also known as App-Scoped ID.

:param fb_login_id: The Facebook login id.
:type: str
Nr   )rO   r   s   &&rP   r   r     r   rS   c                    V P                   # )zzGets the lead_id.

Lead ID is associated with a lead generated by Facebook's Lead Ads.

:return: The lead_id.
:rtype: str
rA   rV   s   &rP   r   UserData.lead_id  ro   rS   c                    Wn         R# )zSets the lead_id.

Lead ID is associated with a lead generated by Facebook's Lead Ads.

:param lead_id: The lead_id.
:type: str
Nr   )rO   r   s   &&rP   r   r     	      rS   c                    V P                   # )zZGets the f5first.

The first 5 characters of a first name.

:return: f5first.
:rtype: str
rB   rV   s   &rP   r   UserData.f5first  ro   rS   c                    Wn         R# )zWSets the f5first.

The first 5 characters of a first name.

:param f5first.
:type: str
Nr   )rO   r   s   &&rP   r   r     r   rS   c                    V P                   # )zWGets the f5last.

The first 5 characters of a last name.

:return: f5last.
:rtype: str
rC   rV   s   &rP   r   UserData.f5last  r]   rS   c                    Wn         R# )zTSets the f5last.

The first 5 characters of a last name.

:param f5last.
:type: str
Nr   )rO   r   s   &&rP   r   r     r_   rS   c                    V P                   # )z;Gets the fi.

The first initial.

:return: fi.
:rtype: str
rD   rV   s   &rP   r   UserData.fi  s     xxrS   c                    Wn         R# )z8Sets the fi.

The first initial.

:param fi.
:type: str
Nr   )rO   r   s   &&rP   r   r     s	     rS   c                    V P                   # )zCGets the dobd.

The date of birth day.

:return: dobd.
:rtype: str
rE   rV   s   &rP   r   UserData.dobd       zzrS   c                    Wn         R# )z@Sets the dobd.

The date of birth day.

:param dobd.
:type: str
Nr   )rO   r   s   &&rP   r   r     	     
rS   c                    V P                   # )zEGets the dobm.

The date of birth month.

:return: dobm.
:rtype: str
rF   rV   s   &rP   r   UserData.dobm  r   rS   c                    Wn         R# )zBSets the dobm.

The date of birth month.

:param dobm.
:type: str
Nr   )rO   r   s   &&rP   r   r     r   rS   c                    V P                   # )zDGets the doby.

The date of birth year.

:return: doby.
:rtype: str
rG   rV   s   &rP   r   UserData.doby  r   rS   c                    Wn         R# )zASets the doby.

The date of birth year.

:param doby.
:type: str
Nr   )rO   r   s   &&rP   r   r   (  r   rS   c                    V P                   # rr   rH   rV   s   &rP   r    UserData.madid4  s    {{rS   c                    Wn         R # rr   r   )rO   r    s   &&rP   r    r   8  s    rS   c                    V P                   # rr   rI   rV   s   &rP   r!   UserData.anon_id<      }}rS   c                    Wn         R # rr   r   )rO   r!   s   &&rP   r!   r   @      rS   c                    V P                   # rr   rJ   rV   s   &rP   r"   UserData.ctwa_clidD  s    rS   c                    Wn         R # rr   r   )rO   r"   s   &&rP   r"   r   H  s    #rS   c                    V P                   # rr   rK   rV   s   &rP   r#   UserData.page_idL  r   rS   c                    Wn         R # rr   r   )rO   r#   s   &&rP   r#   r   P  r   rS   c                   / R V P                  R V P                  4      bRV P                  RV P                  4      bRV P                  RV P                  4      bRV P                  RV P                  4      bRV P                  RV P
                  4      bRV P                  RV P                  4      bRV P                  RV P                  4      bRV P                  RV P                  4      bRV P                  RV P                  4      bR	V P                  V P                  4      bR
V P                  bRV P                  bRV P                  bRV P                  bRV P                   bRV P"                  bRV P$                  bR\&        P(                  ! RV P*                  4      R\&        P(                  ! RV P,                  4      R\&        P(                  ! RV P.                  4      R\&        P(                  ! RV P0                  4      R\&        P(                  ! RV P2                  4      R\&        P(                  ! RV P4                  4      RV P6                  RV P8                  RV P:                  RV P<                  /
CpV P>                  '       d4   V P                  R\A        \C        R V P>                  4      4      4      VR&   VPE                  4        UUu/ uF  w  r#Vf   K  W#bK  	  pppV# u uppi )emphdblnfnctstzpcountryr/   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   gec                     V P                   # rr   )value)gs   &rP   <lambda>$UserData.normalize.<locals>.<lambda>r  s    VWV]V]rS   )#_UserData__normalize_listr   r   r
   r   r   r   r   r   r   _UserData__dedup_listr   r   r   r   r   r   r   r   r   normalize_fieldr   r   r   r   r   r   r    r!   r"   r#   r	   listmapitems)rO   normalized_payloadkvs   &   rP   	normalizeUserData.normalizeT  s    dD$9$9$$L  "D$9$9$$L "D$9$9$@S@S$T  #D$9$9$$P  #D$9$9$@P@P$Q	 
 #D$9$9$$L  #D$9$9$$L  #D$9$9$$O  ()>)>y$J\J\)]  ,T->->t?P?P-Q  243I3I  243I3I  $TXX  $TXX  01E1E  ,T-=-=   (! " ()B)B9dll)[&	(A(A(DKK(X"I$=$=dDGG$L$i&?&?		&R$i&?&?		&R$i&?&?		&R%tzz')4>>'5 8 <<<'+'<'<T4L]_c_k_kHlCm'nt$/A/G/G/I[/ItqQdad/I[!! \s   K'K'c                t   a Se	   V'       g   R# \        \        V3R lV4      4      pV P                  V4      # )zkDedup, hash and normalize the given list.

:type: field_name: str
:type value_list: list[str]
:rtype: dict
Nc                 2   < \         P                  ! SV 4      # rr   )r   r  )val
field_names   &rP   r  +UserData.__normalize_list.<locals>.<lambda>  s    y/H/HUX/YrS   )r  r  r  )rO   r  
value_listnormalized_lists   &f& rP   __normalize_listUserData.__normalize_listw  s4     Zs#Y[efg  11rS   c                >    V'       g   R# \        \        V4      4      # )z@Dedup the given list.

:type value_list: list[str]
:rtype: dict
N)r  set)rO   r  s   &&rP   __dedup_listUserData.__dedup_list  s     C
O$$rS   c                   / p\         P                  ! V P                  4       F  w  r#\        W4      p\	        V\
        4      '       d   \        \        R V4      4      W&   K@  \        VR4      '       d   VP                  4       W&   Kf  \	        V\        4      '       d)   \        \        R VP                  4       4      4      W&   K  WAV&   K  	  \        \        \        4      '       d   V P                  4        F	  w  rTWAV&   K  	  V# )z&Returns the model properties as a dictc                 J    \        V R 4      '       d   V P                  4       # T # )to_dicthasattrr(  )xs   &rP   r  "UserData.to_dict.<locals>.<lambda>  s    WQ	-B-BaiikIIrS   r(  c                 x    \        V ^,          R4      '       d!   V ^ ,          V ^,          P                  4       3# T # )   r(  r)  )items   &rP   r  r,    s9    tAw	22 #'q'47??+<!= "=8<"=rS   )six	iteritemsparam_typesgetattrrk   r  r  r*  r(  dictr  
issubclassr   )rO   resultattr_r
  keys   &     rP   r(  UserData.to_dict  s    }}T%5%56GDD'E%&&#CI%   	**$}}E4((#C=KKM%    %t! 7" h%%"jjl
#s + rS   c                J    \         P                  ! V P                  4       4      # )z.Returns the string representation of the model)pprintpformatr(  rV   s   &rP   to_strUserData.to_str  s    ~~dlln--rS   c                "    V P                  4       # )zFor `print` and `pprint`)r>  rV   s   &rP   __repr__UserData.__repr__  s    {{}rS   c                d    \        V\        4      '       g   R# V P                  VP                  8H  # )z&Returns true if both objects are equalF)rk   r   __dict__rO   others   &&rP   __eq__UserData.__eq__  s%    %**}}..rS   c                    W8X  * # )z*Returns true if both objects are not equal rE  s   &&rP   __ne__UserData.__ne__  s      rS   )CrI   r6   r;   r<   r8   rJ   r3   rE   rF   rG   r0   r:   rB   rC   r@   r=   r>   rD   r5   r2   r4   rA   rH   rK   r1   r7   r?   r9   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#   r&   r   r,   r   r   r.   r   ):__name__
__module____qualname____firstlineno__rM   r2  rQ   propertyr%   setterr   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   r   r    r!   r"   r#   r  r  r  r(  r>  rA  rG  rK  __static_attributes____classdictcell__)__classdict__s   @rP   r   r      s     #X++ 	> 	+	
 	k 	{ 	+ 	+ 	 	[ 	 	U 	U 	u 	u  	5!" 	u#$ 	55%e5[99KB Qo#b 9 9 \\	> 	>   ]]	 	 9 9 \\	> 	>   ]]	 	 ; ; ]]! !   ^^    	I 	I 	V 	V 	$ 	$ 	. 	. A A 	J 	J     	& 	& C C 	M 	M ! ! 	( 	( 9 9 
[[	< 	<   ]]	 	 9 9 \\	> 	>   ]]	 	 G G S S # # , , 	? 	? __
G 
G 	 	 
$ 
$ E E P P " " * * ' ' 	4 	4 ' ' 	4 	4   	ZZ    	ZZ  % % 	0 	0 ! ! 	( 	(   ^^	  	    ^^	  	    ]]	 	   YY	 	   
[[	 	   
[[	 	   
[[	 	   \\    ^^      $ $   ^^   !"F
2%6./! !rS   r   )r<  r0  -facebook_business.adobjects.serverside.genderr   0facebook_business.adobjects.serverside.normalizer   objectr   rJ  rS   rP   <module>rY     s!   *  
 @ F]!v ]!rS   