=~org/compiere/model/MUserorg/compiere/model/X_AD_User&org/idempiere/cache/ImmutablePOSupportserialVersionUIDJ ConstantValue[!Wr|s_cache)Lorg/idempiere/cache/ImmutableIntPOCache; SignatureXLorg/idempiere/cache/ImmutableIntPOCache;s_logLorg/compiere/util/CLogger;m_rolesorg/compiere/model/MRole;m_rolesAD_Org_IDIm_rolesAD_Client_IDm_isAdministratorLjava/lang/Boolean; m_bpAccess#[Lorg/compiere/model/MUserBPAccess; being_hashedZ()VCode!'org/idempiere/cache/ImmutableIntPOCache#AD_User % &'(Ljava/lang/String;II)V ) +-,org/compiere/util/CLogger ./ getCLogger.(Ljava/lang/Class;)Lorg/compiere/util/CLogger; 1 LineNumberTableLocalVariableTable getOfBPartner4(Ljava/util/Properties;I)[Lorg/compiere/model/MUser; Deprecated 8 49F(Ljava/util/Properties;ILjava/lang/String;)[Lorg/compiere/model/MUser;ctxLjava/util/Properties; C_BPartner_ID>org/compiere/model/Query@C_BPartner_ID=? =B &CO(Ljava/util/Properties;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)VEjava/lang/Object GIHjava/lang/Integer JKvalueOf(I)Ljava/lang/Integer; =M NO setParameters/([Ljava/lang/Object;)Lorg/compiere/model/Query; =Q RSsetOnlyActiveRecords(Z)Lorg/compiere/model/Query; =U VWlist()Ljava/util/List; Y[Zjava/util/List \]size()I Y_ `atoArray(([Ljava/lang/Object;)[Ljava/lang/Object;trxNameLjava/lang/String;Ljava/util/List;retValueorg/compiere/model/MUser;LocalVariableTypeTable,Ljava/util/List; getWithRole7(Lorg/compiere/model/MRole;)[Lorg/compiere/model/MUser;ljava/util/ArrayList kn &pSELECT * FROM AD_User u WHERE u.IsActive='Y' AND EXISTS (SELECT * FROM AD_User_Roles ur WHERE ur.AD_User_ID=u.AD_User_ID AND ur.AD_Role_ID=? AND ur.IsActive='Y') rtsorg/compiere/util/DB uvprepareStatementL(Ljava/lang/String;Ljava/lang/String;)Lorg/compiere/util/CPreparedStatement; xzyorg/compiere/model/MRole {] getAD_Role_ID }~java/sql/PreparedStatement setInt(II)V }  executeQuery()Ljava/sql/ResultSet; x getCtx()Ljava/util/Properties;  &?(Ljava/util/Properties;Ljava/sql/ResultSet;Ljava/lang/String;)V k add(Ljava/lang/Object;)Z java/sql/ResultSet next()Z java/util/logging/Level SEVERELjava/util/logging/Level; + logC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V r close+(Ljava/sql/ResultSet;Ljava/sql/Statement;)V k[ k_java/lang/ExceptionroleLorg/compiere/model/MRole;Ljava/util/ArrayList;sqlpstmtLjava/sql/PreparedStatement;rsLjava/sql/ResultSet;eLjava/lang/Exception;1Ljava/util/ArrayList; StackMapTablejava/lang/Stringjava/lang/Throwableget(I)Lorg/compiere/model/MUser; org/compiere/util/Env  3(Ljava/util/Properties;I)Lorg/compiere/model/MUser; AD_User_ID apply:(Ljava/util/Properties;)Ljava/util/function/UnaryOperator; c(Ljava/util/Properties;Ljava/lang/Object;Ljava/util/function/UnaryOperator;)Lorg/compiere/model/PO;  &,(Ljava/util/Properties;ILjava/lang/String;)V  load((Ljava/lang/String;[Ljava/lang/String;)Z  ]get_ID $()Ljava/util/function/UnaryOperator; putd(Ljava/lang/Object;Lorg/compiere/model/PO;Ljava/util/function/UnaryOperator;)Lorg/compiere/model/PO;keyLjava/lang/Integer;Lorg/compiere/model/MUser;2(Ljava/util/Properties;)Lorg/compiere/model/MUser;  getAD_User_ID(Ljava/util/Properties;)IgetCopyE(Ljava/util/Properties;ILjava/lang/String;)Lorg/compiere/model/MUser;   &E(Ljava/util/Properties;Lorg/compiere/model/MUser;Ljava/lang/String;)VuserV(Ljava/util/Properties;Ljava/lang/String;Ljava/lang/String;)Lorg/compiere/model/MUser;  W(Ljava/util/Properties;Ljava/lang/String;Ljava/lang/String;Z)Lorg/compiere/model/MUser;namepassword ]length makeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; + warning(Ljava/lang/String;)VUSER_PASSWORD_HASH org/compiere/model/MSysConfig getBooleanValue(Ljava/lang/String;Z)ZUSE_EMAIL_FOR_LOGINjava/lang/StringBuilderPassword IS NOT NULL AND  & EMail=?  append-(Ljava/lang/String;)Ljava/lang/StringBuilder;COALESCE(LDAPUser,Name)=? AND' EXISTS (SELECT * FROM AD_User_Roles ur= INNER JOIN AD_Role r ON (ur.AD_Role_ID=r.AD_Role_ID)\ WHERE ur.AD_User_ID=AD_User.AD_User_ID AND ur.IsActive='Y' AND r.IsActive='Y') AND " EXISTS (SELECT * FROM AD_Client c2 WHERE c.AD_Client_ID=AD_User.AD_Client_ID ! AND c.IsActive='Y') AND " AD_User.IsActive='Y' $ %&toString()Ljava/lang/String;(AD_Client_ID, AD_User_ID =* +, setOrderBy.(Ljava/lang/String;)Lorg/compiere/model/Query;. UserPwdError +0 12 saveError((Ljava/lang/String;Ljava/lang/String;Z)Z Y4 56iterator()Ljava/util/Iterator; 8:9java/util/Iterator ;()Ljava/lang/Object; = >]getAD_Client_ID k@ Acontains +D Esevere GIHorg/compiere/model/MSystem J4(Ljava/util/Properties;)Lorg/compiere/model/MSystem;Ljava/lang/IllegalStateExceptionNNo System Info K GQ RisLDAP T U& getLDAPUser WYXorg/compiere/util/Util Z[isEmpty(Ljava/lang/String;)Z G] R^'(Ljava/lang/String;Ljava/lang/String;)Z ` a[authenticateHash c d& getPassword f gequals 8i jhasNext isSSOLogin hash_password email_loginclientsValidatedwhereLjava/lang/StringBuilder;usersvalidsystemLorg/compiere/model/MSystem;*Ljava/util/ArrayList;wjava/util/Properties getNameOfUser(I)Ljava/lang/String; { ]}?  &getName isSalesRep(I)ZSELECT MAX(AD_User_ID) FROM AD_User u INNER JOIN C_BPartner bp ON (u.C_BPartner_ID=bp.C_BPartner_ID) WHERE bp.IsSalesRep='Y' AND AD_User_ID=? r  getSQLValue((Ljava/lang/String;Ljava/lang/String;I)Ino=(Ljava/util/Properties;Ljava/lang/String;Ljava/lang/String;)V  &              setInitialDefaultsthis AD_User_UU   setIsFullBPAccess(Z)VX  setNotificationType$(Lorg/compiere/model/X_C_BPartner;)V org/compiere/model/X_C_BPartner  & get_TrxName   setClientOrg(Lorg/compiere/model/PO;)V  ]getC_BPartner_ID  setC_BPartner_ID(I)V   setNamepartner!Lorg/compiere/model/X_C_BPartner; (Lorg/compiere/model/MUser;)V  &3(Ljava/util/Properties;Lorg/compiere/model/MUser;)Vcopy  copyPO java/util/Arrays stream.([Ljava/lang/Object;)Ljava/util/stream/Stream; G(Ljava/util/Properties;Ljava/lang/String;)Ljava/util/function/Function; java/util/stream/Stream map8(Ljava/util/function/Function;)Ljava/util/stream/Stream; "()Ljava/util/function/IntFunction;  `5(Ljava/util/function/IntFunction;)[Ljava/lang/Object;  copyOf)([Ljava/lang/Object;I)[Ljava/lang/Object;getValue  &  setValues  &trimnoname   cleanValue  '(Ljava/lang/String;Z)Ljava/lang/String;   substring(II)Ljava/lang/String; 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; Valueresultfirstlasttemp   toCharArray()[C n    java/lang/Character    toLowerCase(C)C  (C)Ljava/lang/StringBuilder;valuechars[CsbichC setPassword  SHA1PRNG ! java/security/SecureRandom "# getInstance0(Ljava/lang/String;)Ljava/security/SecureRandom; % &' nextBytes([B)V )+*org/compiere/util/SecureEngine ,- getSHA512Hash)(ILjava/lang/String;[B)Ljava/lang/String; /10org/compiere/util/Secure 23convertToHexString([B)Ljava/lang/String; 5 6setSalt8&java/security/NoSuchAlgorithmException:$java/io/UnsupportedEncodingExceptionrandomLjava/security/SecureRandom;bSalt[BhashsSalt B C&getSalt )E FG isMatchHash9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z getFirstName getLastNameK M NOindexOf(I)IQjava/util/StringTokenizerS, PU &V'(Ljava/lang/String;Ljava/lang/String;)VX PZ [& nextToken P] ^ hasMoreTokensgetFirst lastFirststLjava/util/StringTokenizer;addDescription e f&getDescription h isetDescription descriptiondescrnMUser[ p q(I)Ljava/lang/StringBuilder;s,Name=u ,EMailUserID= w x& getEMailUserz]isOnline } ~&getEMailsetEMail    setEMailVerifyDate(Ljava/sql/Timestamp;)VEMailgetInternetAddress'()Ljavax/mail/internet/InternetAddress;#javax/mail/internet/InternetAddress  &(Ljava/lang/String;Z)V  validate   $javax/mail/internet/AddressException &getLocalizedMessageemailia%Ljavax/mail/internet/InternetAddress;ex&Ljavax/mail/internet/AddressException; validateEmail9(Ljavax/mail/internet/InternetAddress;)Ljava/lang/String;NoEmail  & getAddress isEMailValid    isCanSendEMail  org/compiere/model/MClient 4(Ljava/util/Properties;)Lorg/compiere/model/MClient;  isSmtpAuthorization  &getEMailUserPWgetEMailVerifyCode  ]hashCode java/lang/Math abs(J)J  J(J)Ljava/lang/String; codesetEMailVerifyCode  &java/sql/Timestamp java/lang/System currentTimeMillis()J  &(J)V  setEMailVerifyinfookisEMailVerified  getEMailVerifyDate()Ljava/sql/Timestamp;  &getEMailVerifyisNotificationEMail  &getNotificationTypeEBisNotificationNoteNgetRoles(I)[Lorg/compiere/model/MRole;  >$SELECT * FROM AD_Role r WHERE r.IsActive='Y' AND r.AD_Client_ID IN (0, ?) AND EXISTS (SELECT * FROM AD_User_Roles ur WHERE r.AD_Role_ID=ur.AD_Role_ID AND ur.IsActive='Y' AND ur.AD_User_ID=?) AND ( ( r.isaccessallorgs = 'Y' ) OR ( r.IsUseUserOrgAccess <> 'Y' AND EXISTS (SELECT * FROM AD_Role_OrgAccess ro WHERE r.AD_Role_ID=ro.AD_Role_ID AND ro.IsActive='Y' AND ro.AD_Org_ID=?) ) OR ( r.IsUseUserOrgAccess = 'Y' AND EXISTS (SELECT * FROM AD_User_OrgAccess uo WHERE uo.AD_User_ID=? AND uo.IsActive='Y' AND uo.AD_Org_ID=?) ) ) ORDER BY AD_Role_ID  x   is_Immutable k ()Ljava/util/stream/Stream;  accept()Ljava/util/function/Consumer;  forEach (Ljava/util/function/Consumer;)V AD_Org_ID1Ljava/util/ArrayList;isAdministrator java/lang/Boolean  FALSE    TRUE   booleanValueroleshasURLFormAccess W ZAD_Form ClassName=? = ]firstId x   getFormAccess(I)Ljava/lang/Boolean;url hasAccessformId formAccess hasBPAccess((Ljava/lang/String;[Ljava/lang/Object;)Z ( )isFullBPAccess + ,- getBPAccess&(Z)[Lorg/compiere/model/MUserBPAccess; /10 org/compiere/model/MUserBPAccess 2&getBPAccessType BPAccessTypeparams[Ljava/lang/Object;7ASELECT * FROM AD_UserBPAccess WHERE AD_User_ID=? AND IsActive='Y' / requery9Ljava/util/ArrayList; beforeSave(Z)Z @ A[is_ValueChanged CEDorg/compiere/util/EMail [G SaveErrorIInvalidEMailFormat KMLorg/compiere/util/Msg NOgetMsg<(Ljava/util/Properties;Ljava/lang/String;)Ljava/lang/String; KQ RO getElement T UJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; +W 1^Z FillMandatory $ T^hSELECT COUNT(*) FROM AD_User WHERE Password IS NOT NULL AND EMail=? AND AD_Client_ID=? AND AD_User_ID!=? r` a:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)IcSaveErrorNotUnique Ke Nf=(Ljava/util/Properties;Ljava/lang/String;Z)Ljava/lang/String;izSELECT COUNT(*) FROM AD_User WHERE Password IS NOT NULL AND COALESCE(LDAPUser,Name)=? AND AD_Client_ID=? AND AD_User_ID!=?kNamemLDAPUserTpPasswordrSalt t uv get_ValueOld&(Ljava/lang/String;)Ljava/lang/Object; x yv get_Value {}| org/compiere/model/MPasswordRule ~getRulesL(Ljava/util/Properties;Ljava/lang/String;)Lorg/compiere/model/MPasswordRule; { ]getDays_Reuse_Password #org/compiere/model/MPasswordHistory getPasswordHistoryForCheck(II)Ljava/util/List; { 7(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Vjava/util/Date n  getTime  setDatePasswordChanged  newRecordcntnameToValidate hasPasswordpwdrule"Lorg/compiere/model/MPasswordRule;passwordHistorys7Ljava/util/List;isMenuAutoExpand  &getIsMenuAutoExpandY x  getDefault()Lorg/compiere/model/MRole; x D(Ljava/util/Properties;Ljava/lang/String;)Lorg/compiere/model/MUser;SELECT DISTINCT u.AD_User_ID FROM AD_User uP INNER JOIN AD_User_Roles ur ON (u.AD_User_ID=ur.AD_User_ID AND ur.IsActive='Y')I INNER JOIN AD_Role r ON (ur.AD_Role_ID=r.AD_Role_ID AND r.IsActive='Y') 7WHERE u.Password IS NOT NULL AND ur.AD_Client_ID=? AND  u.EMail=?COALESCE(u.LDAPUser,u.Name)=? AND u.IsActive='Y'^ AND EXISTS (SELECT * FROM AD_Client c WHERE u.AD_Client_ID=c.AD_Client_ID AND c.IsActive='Y') }  setString(ILjava/lang/String;)V  OgetInt   No record + fine AD_Client_ID  isSendCredentialsSystem  5(Ljava/util/Properties;I)Lorg/compiere/model/MClient;  &getRequestUser  isSendCredentialsClient w sysclientLorg/compiere/model/MClient;client  &getRequestUserPW  afterSave(ZZ)ZSaving password history: it is strongly encouraged to save password history just when using hashed passwords - WARNING! table AD_Password_History is possibly keeping plain passwords  5    setAD_User_ID   getUpdated   saveEx  successpasswordHistory%Lorg/compiere/model/MPasswordHistory; postDelete  ]getAD_Image_IDorg/compiere/model/MImage   =delete yimgLorg/compiere/model/MImage; markImmutable()Lorg/compiere/model/MUser;    makeImmutable()Lorg/compiere/model/PO;  lambda$0L(Ljava/util/Properties;Lorg/compiere/model/MUser;)Lorg/compiere/model/MUser;lambda$16(Lorg/compiere/model/MUser;)Lorg/compiere/model/MUser;lambda$2^(Ljava/util/Properties;Ljava/lang/String;Lorg/compiere/model/MRole;)Lorg/compiere/model/MRole; x &E(Ljava/util/Properties;Lorg/compiere/model/MRole;Ljava/lang/String;)Vlambda$3lambda$4(Lorg/compiere/model/MRole;)V x lambda$5%(Lorg/compiere/model/MUserBPAccess;)V /! "$()Lorg/compiere/model/MUserBPAccess;"Lorg/compiere/model/MUserBPAccess;lambda$6lambda$7 SourceFile MUser.javaBootstrapMethods *,+"java/lang/invoke/LambdaMetafactory -. metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;)&(Ljava/lang/Object;)Ljava/lang/Object;0 3 20 8 7 <>=$java/lang/invoke/StringConcatFactory ?(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;;BInvalid Name/Password = DNTwo users with password with the same name/email combination on same tenant: 0 G F6(Lorg/compiere/model/MRole;)Lorg/compiere/model/MRole;I(I)Ljava/lang/Object;K N MRT - VCC(Ljava/lang/Object;)VW Z YW _ ^c - []e - g / iInvalid Name = k)More then one user with Name/Password = m>Associated image could not be deleted for user - AD_Image_ID=W p $oW u %t InnerClassesz%java/lang/invoke/MethodHandles$Lookup|java/lang/invoke/MethodHandlesLookup!    ?= Y"<$(*02 683 456;*72J3:;< 49:=Y*"?,ADYFSLPTN-X:-^W2"VWXY"V#[.\7]34::;:<:bc#Vd. efg #Vh ijkYmLoMN:,qN-*w|-:+Y*W%:0,-:--+:+WILZc2Vgh l mpq!r)s,t?sIuLvNxZ|c{e|k}n|t}3HV |c zwN } efg V#,xk}LV  223  TFM(*,*N-:Y*N:-W-(,-W--22 &*-8@NPR34T:;TO=e- bc 8G 3 **޸23  :; xN-Y*-,N-2 3*:;bc F*+,23 :;cc ++, ,0+66kYm::Y :  W  W       ! W=Y*"#ADY+SL')T:  X0-+/W 3:  7:  <F?0+BC <FW6 F:  KYMO 6 = P SV +,\6  ,_6  b,e6   :  hV21&(09BEQVbksy #+0;?BXaiq t 3 :;cck0hl9_mBVnESeQGopqd #hr +`st gBVnuqh  9 vkpY vkY8) vkY8(G  vkY8 vkY xygL+z|+~2 !3 xL+=2,-. 123  c  &1*+,-******,V*2* B  %C,D0E3*11:;1c1bc0v&.*+-*******2* O  %P)Q-R3*..:;..bc-v? **2XY Z3  &g#*++*+*+*+2b cde"f3##&&*+,-******2"p  %q3*&&:;&&bc&A *+±2 yz3  &J*+,2 3 :;&j*+-*,*,&,+-ާ*,*,*,,,2 ;CKi3*jj:;jjbcN7vvlv&g*L++**2  3c s+ +*SL+ +*~L+ +L*+M,D*+N*+:':--:*M *-M, ,M*,2V#.28AHPX\cry|3>c8acH:cP2c\c(   ? R+MYN66,4660 9az -W,-#2*   .<CM3>RRcM Ep=* Ml+ *+= *+**N:-$+(:.:**4W*+ W*+(Y\7(Ye92Z  "#(/5;FM S Y ] e fk3Hllc[l/-;<5$=>F?cM @c x7H9a[A *b*A+D23  cH&4 **~23  I&4 **~2(3  + +JN:+,L6:PY+RT:FPY+WT:6Y: :-N- N:\-J-J2r3 456:%;(<-==?J@MBWC\EaFhGlHoIrLvM|O@RTUVXYZ3Rc_cc%`(abW)c% @P c0+ +*dM, , *+g*,+jg2d e fgh$j/k3 00kclc   %&7Ym *жor *~ t *v y L+#2t uvw+x1t2y372p{N*| *b23 G *+*2 3  c:*|L+ +Y+M,,,M*+,%&2*  $&'83*:5c 'R ++23  B**23  5*vL+ +**L+ +2!&350c &[*z*~`@2 3 ^6++*Ƕe>*Y˷Ѷ**,2"*/43*66c6c! @[***޶23 o!*L++e+e23!cp!*L++e +e2    3!c ]%****kYmMN::-*q:|*z||*z||:,xY*W4:*-::":::::,*,***,x,*W*332"!)-00134=5K6W7`8l9u:~;<;=>@DECDEFDEHIKL MN O3H%%)V-c03 g )V&!_k}L^ =*1** L=+2w *  +*2& XZ[\^"`)a,\5e3 =![= v+==Y**APDY+SL>?* Y:66'2::= 2Bno q r!s+t0u3r4v8wPyXze{g|jwt3>vv!c j"4B#PX$) > %&4*'**W>*2.+e*2" $&23*443c445!  ,-* *6MkYmN::,q:*z|:-/Y*8W(:*,:-*-9*-/-*W*"^a"pz2f ")5>AT^acpz|3H:cV"c g V;&0k}LX <= N*>?**|VE *>?7*|B-*F*HJ*>P*|SVW* *X? ***b*b=*| *|-*F*YJ*>P*[\VW*]DY*|SY*<FSY*zFS_>*F*bd*>PgVW*SN-V*~N*hDY-SY*<FSY*zFS_64*F*bd*jP*lPnVW*bV=s *o?e*qs *qwQ**zN-,-*z:-*S *S*~*b*YYѶ>(*o?*A **b2.+5]_t|').5:>G]bg#'1@D L 3f NNm+.jcb6Bd#+lg X3-)T] @+{Y{{Y{# q <**e< <2 3  ~ %+ +0+M*>Y    : W6 W  W  W::#q:|+:**MR0+C0ȶʧ7:0#::": :: ::,2(& ()+, .*/0061<.>2G3P4U5a7j8y:|;>?@ABDEFGIJKMQRPQ RSQR#T3\ %:;%c e >pPm|- Gvk}Ka x&,Ι*L+԰י*L+԰*ڰ2Z[\]^"_'a3 ,"&,Ι*L+ްי*L+ް*2hijkl"m'o3 ,".*b*bz *o?l**zN-\-U6 *CY**:*A*b*z**26 xy+z6{>|C}M_hqz3>+]>Jl_) -{:7*1Y***L+**2#35375O******ɺ ***ɺ *2"  -<M3 O #A %*23 4 Y*+°23   6 Y*°23   5 xY*,+23   %x23 /*2I3  /* 23 # $/*23  %/* 23 #&'(/145/69:@A@C/EHJ/LOP@Q@S@S@U/X[\/]`a@b@d@Q@f@h@j@l/nqr/svwx y{}