2023-12-20 03:49:21,262 [INFO]	async_advanced_user_mfa : _init_logger(96) - Logger created with file /Users/mtripod/code/duo_client_python/examples/Auth API/async_advanced_user_mfa.log at log level DEBUG
2023-12-20 03:49:21,262 [INFO]	async_advanced_user_mfa : __init__(47) - ========== Starting async_advanced_user_mfa.py ==========
2023-12-20 03:49:21,710 [INFO]	async_advanced_user_mfa : ping_duo(141) - Duo service check completed successfully.
2023-12-20 03:49:22,155 [INFO]	async_advanced_user_mfa : verify_duo(151) - IKEY and SKEY provided have been verified.
2023-12-20 03:49:22,156 [INFO]	async_advanced_user_mfa : _cleanup_authentications_dictionary(160) - #### Starting thread Auth-dict-cleanup ####
2023-12-20 03:49:22,157 [INFO]	async_advanced_user_mfa : preauth_user_from_queue(193) - #### Starting thread Pre-auth-worker-0 ####
2023-12-20 03:49:22,157 [INFO]	async_advanced_user_mfa : auth_user_from_queue(217) - #### Starting thread Auth-worker-0 ####
2023-12-20 03:49:22,157 [INFO]	async_advanced_user_mfa : get_user_auth_result(242) - #### Starting thread Result-worker-0 ####
2023-12-20 03:49:22,157 [INFO]	async_advanced_user_mfa : _cleanup_authentications_dictionary(163) - [Auth-dict-cleanup] Scanning for authentication data for older than 1703061862
2023-12-20 03:49:22,157 [INFO]	async_advanced_user_mfa : preauth_user_from_queue(193) - #### Starting thread Pre-auth-worker-1 ####
2023-12-20 03:49:22,158 [INFO]	async_advanced_user_mfa : auth_user_from_queue(217) - #### Starting thread Auth-worker-1 ####
2023-12-20 03:49:22,158 [INFO]	async_advanced_user_mfa : get_user_auth_result(242) - #### Starting thread Result-worker-1 ####
2023-12-20 03:49:22,158 [INFO]	async_advanced_user_mfa : preauth_user_from_queue(193) - #### Starting thread Pre-auth-worker-2 ####
2023-12-20 03:49:22,158 [INFO]	async_advanced_user_mfa : auth_user_from_queue(217) - #### Starting thread Auth-worker-2 ####
2023-12-20 03:49:22,158 [INFO]	async_advanced_user_mfa : get_user_auth_result(242) - #### Starting thread Result-worker-2 ####
2023-12-20 03:49:22,159 [DEBUG]	async_advanced_user_mfa : prompt_for_username(184) - Prompting for username...
2023-12-20 03:49:29,220 [DEBUG]	async_advanced_user_mfa : prompt_for_username(186) -     Username: mark@duomark.net received
2023-12-20 03:49:29,220 [INFO]	async_advanced_user_mfa : prompt_for_username(188) -     mark@duomark.net placed in user_queue.
2023-12-20 03:49:29,282 [INFO]	async_advanced_user_mfa : preauth_user_from_queue(204) - [Pre-auth-worker-1] Executing pre-authentication for mark@duomark.net...
2023-12-20 03:49:29,776 [INFO]	async_advanced_user_mfa : preauth_user_from_queue(206) - [Pre-auth-worker-1] Pre-authentication result for mark@duomark.net is {'devices': [{'capabilities': ['auto', 'push', 'sms', 'mobile_otp'], 'device': 'DP80Z4GVU82OT8O1BNJF', 'display_name': 'Marx iPhone 13 (XXX-XXX-4788)', 'name': 'Marx iPhone 13', 'number': 'XXX-XXX-4788', 'type': 'phone'}, {'capabilities': ['sms'], 'device': 'DPQ5WJQR0ZI5TIIBL3BP', 'display_name': 'Google Voice (XXX-XXX-2752)', 'name': 'Google Voice', 'number': 'XXX-XXX-2752', 'type': 'phone'}, {'device': 'DHQOEFH4Q6KMAFU7Q8V4', 'name': '20361492', 'type': 'token'}], 'result': 'auth', 'status_msg': 'Account is active'}
2023-12-20 03:49:29,777 [INFO]	async_advanced_user_mfa : preauth_user_from_queue(212) - [Pre-auth-worker-1] RUNNING property set to False. Cleaning up...
2023-12-20 03:49:29,812 [INFO]	async_advanced_user_mfa : auth_user_from_queue(229) - [Auth-worker-1] Executing asynchronous authentication action for mark@duomark.net...
2023-12-20 03:49:30,225 [DEBUG]	async_advanced_user_mfa : prompt_for_username(184) - Prompting for username...
2023-12-20 03:49:30,718 [INFO]	async_advanced_user_mfa : auth_user_from_queue(232) - [Auth-worker-1] Placing f50324f8-42ce-419d-8403-ed6b78e72d44 in result_queue for user mark@duomark.net
2023-12-20 03:49:30,718 [INFO]	async_advanced_user_mfa : auth_user_from_queue(237) - [Auth-worker-1] RUNNING property set to False. Cleaning up...
2023-12-20 03:49:30,738 [INFO]	async_advanced_user_mfa : get_user_auth_result(254) - [Result-worker-1] Getting authentication result for TXID f50324f8-42ce-419d-8403-ed6b78e72d44, username mark@duomark.net...
2023-12-20 03:49:30,740 [INFO]	async_advanced_user_mfa : get_user_auth_result(257) - [Result-worker-1] Waiting for mark@duomark.net to respond [f50324f8-42ce-419d-8403-ed6b78e72d44]...
2023-12-20 03:49:31,170 [INFO]	async_advanced_user_mfa : get_user_auth_result(276) - [Result-worker-1] Still waiting for mark@duomark.net to respond [{'waiting': True, 'success': False, 'status': 'pushed', 'status_msg': 'Pushed a login request to your device...'}]
2023-12-20 03:49:31,170 [INFO]	async_advanced_user_mfa : get_user_auth_result(257) - [Result-worker-1] Waiting for mark@duomark.net to respond [f50324f8-42ce-419d-8403-ed6b78e72d44]...
2023-12-20 03:49:34,097 [INFO]	async_advanced_user_mfa : get_user_auth_result(261) - [Result-worker-1] Authentication result for mark@duomark.net [f50324f8-42ce-419d-8403-ed6b78e72d44] is {'waiting': False, 'success': True, 'status': 'allow', 'status_msg': 'Success. Logging you in...'}
2023-12-20 03:49:34,098 [INFO]	async_advanced_user_mfa : get_user_auth_result(278) - [Result-worker-1] RUNNING property set to False. Cleaning up...
2023-12-20 03:49:52,163 [INFO]	async_advanced_user_mfa : _cleanup_authentications_dictionary(163) - [Auth-dict-cleanup] Scanning for authentication data for older than 1703061892
2023-12-20 03:50:13,970 [DEBUG]	async_advanced_user_mfa : close(113) - Signal number 2 received.
2023-12-20 03:50:13,971 [DEBUG]	async_advanced_user_mfa : close(114) - Frame traceback: None
2023-12-20 03:50:13,971 [INFO]	async_advanced_user_mfa : close(115) - SIGINIT received. Waiting for threads to complete...
2023-12-20 03:50:13,971 [INFO]	async_advanced_user_mfa : close(117) - Setting instance RUNNING property to False...
2023-12-20 03:50:13,971 [INFO]	async_advanced_user_mfa : close(121) - Waiting for Auth-dict-cleanup thread to complete...
2023-12-20 03:50:13,973 [INFO]	async_advanced_user_mfa : auth_user_from_queue(237) - [Auth-worker-0] RUNNING property set to False. Cleaning up...
2023-12-20 03:50:13,979 [INFO]	async_advanced_user_mfa : auth_user_from_queue(237) - [Auth-worker-2] RUNNING property set to False. Cleaning up...
2023-12-20 03:50:14,005 [INFO]	async_advanced_user_mfa : get_user_auth_result(278) - [Result-worker-2] RUNNING property set to False. Cleaning up...
2023-12-20 03:50:14,006 [INFO]	async_advanced_user_mfa : preauth_user_from_queue(212) - [Pre-auth-worker-0] RUNNING property set to False. Cleaning up...
2023-12-20 03:50:14,011 [INFO]	async_advanced_user_mfa : get_user_auth_result(278) - [Result-worker-0] RUNNING property set to False. Cleaning up...
2023-12-20 03:50:14,070 [INFO]	async_advanced_user_mfa : preauth_user_from_queue(212) - [Pre-auth-worker-2] RUNNING property set to False. Cleaning up...
2023-12-20 03:50:22,169 [INFO]	async_advanced_user_mfa : _cleanup_authentications_dictionary(173) - [Auth-dict-cleanup] RUNNING property set to False. Cleaning up...
2023-12-20 03:50:22,172 [INFO]	async_advanced_user_mfa : close(121) - Waiting for Pre-auth-worker-0 thread to complete...
2023-12-20 03:50:22,172 [INFO]	async_advanced_user_mfa : close(121) - Waiting for Auth-worker-0 thread to complete...
2023-12-20 03:50:22,172 [INFO]	async_advanced_user_mfa : close(121) - Waiting for Result-worker-0 thread to complete...
2023-12-20 03:50:22,172 [INFO]	async_advanced_user_mfa : close(121) - Waiting for Pre-auth-worker-2 thread to complete...
2023-12-20 03:50:22,172 [INFO]	async_advanced_user_mfa : close(121) - Waiting for Auth-worker-2 thread to complete...
2023-12-20 03:50:22,173 [INFO]	async_advanced_user_mfa : close(121) - Waiting for Result-worker-2 thread to complete...
2023-12-20 03:50:22,173 [INFO]	async_advanced_user_mfa : close(127) - All threads complete. Shutting down.
