
"""simple docstring"""





from __future__ import annotations






class        _UpperCAmelCase:



		def __init__(   self							,						__a)			->			None:






							'''simple docstring'''
							_UpperCamelCase									=    data
							_UpperCamelCase									=    None
							_UpperCamelCase									=    None





def  lowerCamelCase__						(     __snake_case      )				->						None:  # In Order traversal of the tree


					"""simple docstring"""





					if tree:
										display(tree.left      )
										print(tree.data      )
										display(tree.right      )



def  lowerCamelCase__						(     __snake_case      )				->						int:


					"""simple docstring"""





					return 1 + max(depth_of_tree(tree.left      ),	depth_of_tree(tree.right      )      ) if tree else 0



def  lowerCamelCase__						(     __snake_case      )				->						bool:


					"""simple docstring"""





					if not tree:
										return True
					if tree.left and tree.right:
										return is_full_binary_tree(tree.left      ) and is_full_binary_tree(tree.right      )
					else:
										return not tree.left and not tree.right



def  lowerCamelCase__						(     )				->						None:  # Main function for testing.


					"""simple docstring"""





					_UpperCamelCase									=    Node(1      )
					_UpperCamelCase									=    Node(2      )
					_UpperCamelCase									=    Node(3      )
					_UpperCamelCase									=    Node(4      )
					_UpperCamelCase									=    Node(5      )
					_UpperCamelCase									=    Node(6      )
					_UpperCamelCase									=    Node(7      )
					_UpperCamelCase									=    Node(8      )
					_UpperCamelCase									=    Node(9      )

					print(is_full_binary_tree(__snake_case      )      )
					print(depth_of_tree(__snake_case      )      )
					print('''Tree is: '''      )
					display(__snake_case      )


if __name__ == "__main__":
				main()







"""simple docstring"""


from ...configuration_utils import PretrainedConfig
from ...utils import logging


UpperCAmelCase__			=    logging.get_logger(__name__)


class 							a					(		lowerCAmelCase_ ):
    _snake_case  :	List[Any]  				=				'timm_backbone'


    def __init__(       self						:	List[Any] ,					__lowerCAmelCase						:	str=None ,					__lowerCAmelCase						:	Optional[int]=3 ,					__lowerCAmelCase						:	Any=True ,					__lowerCAmelCase						:	Optional[int]=True ,					__lowerCAmelCase						:	Optional[Any]=None ,					**__lowerCAmelCase						:	Optional[Any] ,					):
      super().__init__(**__lowerCAmelCase       )
      _UpperCAmelCase    			=   backbone
      _UpperCAmelCase    			=   num_channels
      _UpperCAmelCase    			=   features_only
      _UpperCAmelCase    			=   use_pretrained_backbone
      _UpperCAmelCase    			=   True
      _UpperCAmelCase    			=   out_indices if out_indices is not None else (-1,)
