PK���ȼRY��������€��� �v3.phpUT �øŽg‰gñ“gux �õ��õ��½T]kÛ0}߯pEhìâÙM7X‰çv%”v0֐µ{)Aå:6S$!ÉMJèߕ?R÷!>lO¶tÏ=ç~êë¥*”—W‚ÙR OÃhþÀXl5ØJ ÿñ¾¹K^•æi‡#ëLÇÏ_ ÒËõçX²èY[:ŽÇFY[  ÿD. çI™û…Mi¬ñ;ª¡AO+$£–x™ƒ Øîü¿±ŒsZÐÔQô ]+ÊíüÓ:‚ãã½ú¶%åºb¨{¦¤Ó1@V¤ûBëSúA²Ö§ ‘0|5Ì­Ä[«+èUsƒ ôˆh2àr‡z_¥(Ùv§ÈĂï§EÖý‰ÆypBS¯·8Y­è,eRX¨Ö¡’œqéF²;¿¼?Ø?Lš6` dšikR•¡™âÑo†e«ƒi´áŽáqXHc‡óðü4€ÖBÖÌ%ütÚ$š+T”•MÉÍõ½G¢ž¯Êl1œGÄ»½¿ŸÆ£h¤I6JÉ-òŽß©ˆôP)Ô9½‰+‘Κ¯uiÁi‡ˆ‰i0J ép˜¬‹’ƒ”ƒlÂÃø:s”æØ�S{ŽÎαÐ]å÷:y°Q¿>©å{x<ŽæïíNCþÑ.Mf?¨«2ý}=ûõýî'=£§ÿu•Ü(—¾IIa­"éþ@¶�¿ä9?^-qìÇÞôvŠeÈc ðlacã®xèÄ'®âd¶ çˆSEæódP/ÍÆv{Ô)Ó ?>…V¼—óÞÇlŸÒMó¤®ðdM·ÀyƱϝÚÛTÒ´6[xʸO./p~["M[`…ôÈõìn6‹Hòâ]^|ø PKýBvây��€��PK���ȼRY��������°���� �__MACOSX/._v3.phpUT �øŽg‰gþ“gux �õ��õ��c`cg`b`ðMLVðVˆP€'qƒøˆŽ!!AP&HÇ %PDF-1.7 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font << /F1 8 0 R /F2 9 0 R >> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj << /Producer (���d�o�m�p�d�f� �2�.�0�.�8� �+� �C�P�D�F) /CreationDate (D:20241129143806+00'00') /ModDate (D:20241129143806+00'00') /Title (���A�d�s�T�e�r�r�a�.�c�o�m� �i�n�v�o�i�c�e) >> endobj 6 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 7 0 R >> endobj 7 0 obj << /Filter /FlateDecode /Length 904 >> stream x���]o�J���+F�ͩ����su\ �08=ʩzရ���lS��lc� "Ց� ���wޙ�%�R�DS��� �OI�a`� �Q�f��5����_���םO�`�7�_FA���D�Џ.j�a=�j����>��n���R+�P��l�rH�{0��w��0��=W�2D ����G���I�>�_B3ed�H�yJ�G>/��ywy�fk��%�$�2.��d_�h����&)b0��"[\B��*_.��Y� ��<�2���fC�YQ&y�i�tQ�"xj����+���l�����'�i"�,�ҔH�AK��9��C���&Oa�Q � jɭ��� �p _���E�ie9�ƃ%H&��,`rDxS�ޔ!�(�X!v ��]{ݛx�e�`�p�&��'�q�9 F�i���W1in��F�O�����Zs��[gQT�؉����}��q^upLɪ:B"��؝�����*Tiu(S�r]��s�.��s9n�N!K!L�M�?�*[��N�8��c��ۯ�b�� ��� �YZ���SR3�n�����lPN��P�;��^�]�!'�z-���ӊ���/��껣��4�l(M�E�QL��X ��~���G��M|�����*��~�;/=N4�-|y�`�i�\�e�T�<���L��G}�"В�J^���q��"X�?(V�ߣXۆ{��H[����P�� �c���kc�Z�9v�����? �a��R�h|��^�k�D4W���?Iӊ�]<��4�)$wdat���~�����������|�L��x�p|N�*��E� �/4�Qpi�x.>��d����,M�y|4^�Ż��8S/޾���uQe���D�y� ��ͧH�����j�wX � �&z� endstream endobj 8 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >> endobj 9 0 obj << /Type /Font /Subtype /Type1 /Name /F2 /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding >> endobj xref 0 10 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000284 00000 n 0000000313 00000 n 0000000514 00000 n 0000000617 00000 n 0000001593 00000 n 0000001700 00000 n trailer << /Size 10 /Root 1 0 R /Info 5 0 R /ID[] >> startxref 1812 %%EOF
Warning: Cannot modify header information - headers already sent by (output started at /home/u697396820/domains/smartriegroup.com/public_html/assets/images/partners/logo_69cec45839613.php:1) in /home/u697396820/domains/smartriegroup.com/public_html/assets/images/partners/logo_69cec45839613.php on line 128

Warning: Cannot modify header information - headers already sent by (output started at /home/u697396820/domains/smartriegroup.com/public_html/assets/images/partners/logo_69cec45839613.php:1) in /home/u697396820/domains/smartriegroup.com/public_html/assets/images/partners/logo_69cec45839613.php on line 129

Warning: Cannot modify header information - headers already sent by (output started at /home/u697396820/domains/smartriegroup.com/public_html/assets/images/partners/logo_69cec45839613.php:1) in /home/u697396820/domains/smartriegroup.com/public_html/assets/images/partners/logo_69cec45839613.php on line 130

Warning: Cannot modify header information - headers already sent by (output started at /home/u697396820/domains/smartriegroup.com/public_html/assets/images/partners/logo_69cec45839613.php:1) in /home/u697396820/domains/smartriegroup.com/public_html/assets/images/partners/logo_69cec45839613.php on line 131
a h@sddlmZmZmZmZmZmZmZddlm Z ddl Zddl Zddl m Z ddl mZddlZddlZddlZddlZddlZddlmZddlmZejZdgZGd ddeZdS) )storageunitsmonitorspluginsprofilesexportshardware)TunedExceptionN) controller)daemon) GlobalConfig Applicationc@seZdZdddZddZddZdd Zd d Zd d ZddZ e j fddZ ddZ ddZe j fddZeddZeddZddZdS)rNc Cs|tdtjjtdfd|_d|_t }t |}|durJt n||_ |j tjrjtdn tdt}|j dtj}tj|d}t}t} tj } tj|_t||||| | |j |j} t|j tj tj!} t"#| || ||j } t }t$}t%|j &tj'tj(}t)||||j |j}t*+| |||j ||_,t-.|j,|j |_/|0d|_1dS)NzTuneD: %s, kernel: %sz8dynamic tuning is enabled (can be overridden in plugins)z#dynamic tuning is globally disabledudev_buffer_size)Z buffer_size)2loginfotunedversionZTUNED_VERSION_STRosuname_dbus_exporter_unix_socket_exporterrZPickleProviderZFactoryr configget_boolconstsZCFG_DYNAMIC_TUNINGrZ RepositoryZget_sizeZCFG_DEF_UDEV_BUFFER_SIZErZ InventoryZ DeviceMatcherZDeviceMatcherUdevrinstancerZ variablesZ VariablesintgetZCFG_DEFAULT_INSTANCE_PRIORITYZ!CFG_DEF_DEFAULT_INSTANCE_PRIORITYrZManagerZMergerZLocatorget_listZCFG_PROFILE_DIRSZCFG_DEF_PROFILE_DIRSLoaderr ZDaemon_daemonr Z Controller _controller _init_signals _pid_file)selfZ profile_namerZstorage_providerZstorage_factoryZmonitors_repositoryrZhardware_inventoryZdevice_matcherZdevice_matcher_udevZplugin_instance_factoryZplugins_repositoryZdef_instance_priorityZ unit_managerZprofile_factoryZprofile_mergerZprofile_locatorZprofile_loaderr&.handler_wrapper)signal)r%r,r+r-r&r*r'_handle_signal?szApplication._handle_signalcCs:|tj|jj|tj|jj|tj|jjdSr))r/r.SIGHUPr"ZsighupSIGINTZ terminateSIGTERMr%r&r&r'r#EszApplication._init_signalscCs6|jdurtdtj|||||_t|jdS)Nz&DBus interface is already initialized.)rr rZdbusZ DBusExporterregister_exporter)r%Zbus_nameZ object_nameZinterface_name namespacer&r&r'attach_to_dbusJs zApplication.attach_to_dbusc Csj|jdurtdtj|jtj|j tj |jtj |j tj |j tj|_t|jdS)Nz-Unix socket interface is already initialized.)rr rZ unix_socketZUnixSocketExporterrrrZCFG_UNIX_SOCKET_PATHrZCFG_UNIX_SOCKET_SIGNAL_PATHSZCFG_UNIX_SOCKET_OWNERSHIPZget_intZCFG_UNIX_SOCKET_PERMISIONSZ#CFG_UNIX_SOCKET_CONNECTIONS_BACKLOGr4r3r&r&r'attach_to_unix_socketQs     z!Application.attach_to_unix_socketcCst|jdSr))rZregister_objectr"r3r&r&r'register_controller\szApplication.register_controllercCst|t|gggtj\}}}t|dkrBt|tdt|d}t|t|dkrltdzt d|d}Wntj ytdYn0|dkrtd d S) z| Wait till the child signalizes that the initialization is complete by writing some uninteresting data into the pipe. r z=Cannot daemonize, timeout when waiting for the child process.rz:Cannot daemonize, no response from child process received.?z?Cannot daemonize, invalid response from child process received.Tz0Cannot daemonize, child process reports failure.N) rcloseselectrZDAEMONIZE_PARENT_TIMEOUTlenr readstructunpackerror)r% parent_in_fd child_out_fdZ read_readyZdropZresponsevalr&r&r'_daemonize_parent_s      zApplication._daemonize_parentc Cs||_|ztj|j}tj|s4t|tt|jtj tj Btj Bdd"}| dt Wdn1s0YWn@ttfy}z$td|jt|fWYd}~n d}~00dS)Niwz%dzcannot write the PID to %s: %s)r$_delete_pid_filerpathdirnameexistsmakedirsfdopenopenO_CREATO_TRUNCO_WRONLYwritegetpidOSErrorIOErrorrcriticalstr)r%pid_fileZdir_namefrAr&r&r'write_pid_filexs  (4zApplication.write_pid_filec Cs`tj|jr\zt|jWn<tyZ}z$td|jt|fWYd}~n d}~00dS)Nz&cannot remove existing PID file %s, %s) rrHrJr$unlinkrSrwarningrV)r%rAr&r&r'rGs zApplication._delete_pid_filec Cs,t|tdttdzt}|dkrBtdWn`ty}zHt dt |t dd}t||t|tdWYd}~n d}~00tdd }t|tjt|tjt|tj||t d t dd }t||t|dS) zy Finishes daemonizing process, writes a PID file and signalizes to the parent that the initialization is complete. /rz"cannot daemonize, fork() error: %sr:Fz'Cannot daemonize, second fork() failed.Nz /dev/nullzw+zsuccessfully daemonizedT)rr;chdirsetsidumaskforksysexitrSrrUrVr?packrQr rMdup2filenostdinstdoutstderrrYdebug)r%rWrBrCpidrArDfdr&r&r'_daemonize_childs.           zApplication._daemonize_childc Cst}z t}WnHty\}z0t|dt|dtdWYd}~n d}~00z4|dkr~|j|tdn|j |g|RWn"|dkrn tdYn0dS)z Daemonizes the application. In case of failure, TunedException is raised in the parent process. If the operation is successfull, the main process is terminated and only child process returns from this method. rr z Cannot daemonize, fork() failed.N) rpiper`rSr;r rErarbrl)r%rWZparent_child_fdsZ child_pidrAr&r&r' daemonizes    zApplication.daemonizecCs|jSr))r!r3r&r&r'r szApplication.daemoncCs|jSr))r"r3r&r&r'r szApplication.controllercCsj|r|jtjd|jtjtjs0td|j }|jtjtjrTt |j durf| |S)NTzrUsing one shot no daemon mode, most of the functionality will be not available, it can be changed in global config)rsetrZ CFG_DAEMONrZCFG_DEF_DAEMONrr[r"runrstopr$rG)r%r resultr&r&r'rps   zApplication.run)NN)__name__ __module__ __qualname__r(r/r#r6r7r8rErZPID_FILErYrGrlrnpropertyr r rpr&r&r&r'rs  +  "  )rrrrrrrrZtuned.exceptionsr Z tuned.logsZ tuned.versionr r r.rrar<r?Z tuned.constsrZtuned.utils.global_configr Zlogsrr__all__objectrr&r&r&r's$