# NLS_MESSAGEFORMAT_NONE
# NLS_ENCODING=UNICODE
# 

# This file is automatically generated by org.eclipse.mat.ui.MemoryAnalyserPlugin.main().
# Refer to the documentation/comments for this method for usage instructions.
# 
# Any manual modifications to this file will need to be reapplied if the file is regenerated.
# Therefore it is preferable if such modifications are kept to a minimum, or preferably
# achieved by amending the label generation code in MemoryAnalyserPlugin.buildIconLabel().
# 

# Icon label property to be used for an unknown icon:
IconLabelUnknown=unknown icon

# Automatically generated icon label properties:
IconLabel-acquire=acquire 
IconLabel-array_fill=array fill 
IconLabel-array_size=array size 
IconLabel-as_histogram=as histogram 
IconLabel-big_drops=big drops 
IconLabel-calculator=calculator 
IconLabel-class_refs_inbound=class refs inbound 
IconLabel-class_refs_outbound=class refs outbound 
IconLabel-close_branch=close branch 
IconLabel-close_pane=close pane 
IconLabel-collection_fill=collection fill 
IconLabel-collection_size=collection size 
IconLabel-compare=compare 
IconLabel-component_report=component report 
IconLabel-constant_value=constant value 
IconLabel-copy=copy 
IconLabel-decorations-gc_root=gc root 
IconLabel-decorations-in=in 
IconLabel-decorations-out=out 
IconLabel-dominator_tree=dominator tree 
IconLabel-duplicate_classes=duplicate classes 
IconLabel-execute_query=execute query 
IconLabel-expert=expert 
IconLabel-explore=explore 
IconLabel-export=export 
IconLabel-export_csv=export csv 
IconLabel-export_hprof=export hprof 
IconLabel-export_html=export html 
IconLabel-export_txt=export txt 
IconLabel-fill_arguments_wiz=fill arguments wiz 
IconLabel-filter=filter 
IconLabel-finalizer=finalizer 
IconLabel-find=find 
IconLabel-find_strings=find strings 
IconLabel-group_by_value=group by value 
IconLabel-grouping=grouping 
IconLabel-hash_map=hash map 
IconLabel-hash_set=hash set 
IconLabel-heapdump_details=heapdump details 
IconLabel-heapdump_history=heapdump history 
IconLabel-heapobjects-array_obj=array object 
IconLabel-heapobjects-array_obj_gc_root=array object gc root 
IconLabel-heapobjects-class=class 
IconLabel-heapobjects-class_mixed=class mixed 
IconLabel-heapobjects-class_obj=class object 
IconLabel-heapobjects-class_obj_gc_root=class object gc root 
IconLabel-heapobjects-class_old=class old 
IconLabel-heapobjects-classloader_obj=classloader object 
IconLabel-heapobjects-classloader_obj_gc_root=classloader object gc root 
IconLabel-heapobjects-heapdump16=heapdump16 
IconLabel-heapobjects-in-array_obj=array object in 
IconLabel-heapobjects-in-array_obj_gc_root=array object gc root in 
IconLabel-heapobjects-in-class=class in 
IconLabel-heapobjects-in-class_in_old=class in old in 
IconLabel-heapobjects-in-class_mixed=class mixed in 
IconLabel-heapobjects-in-class_obj=class object in 
IconLabel-heapobjects-in-class_obj_gc_root=class object gc root in 
IconLabel-heapobjects-in-classloader_obj=classloader object in 
IconLabel-heapobjects-in-classloader_obj_gc_root=classloader object gc root in 
IconLabel-heapobjects-in-instance_obj=instance object in 
IconLabel-heapobjects-in-instance_obj_gc_root=instance object gc root in 
IconLabel-heapobjects-instance_obj=instance object 
IconLabel-heapobjects-instance_obj_gc_root=instance object gc root 
IconLabel-heapobjects-out-array_obj=array object out 
IconLabel-heapobjects-out-array_obj_gc_root=array object gc root out 
IconLabel-heapobjects-out-class=class out 
IconLabel-heapobjects-out-class_mixed=class mixed out 
IconLabel-heapobjects-out-class_obj=class object out 
IconLabel-heapobjects-out-class_obj_gc_root=class object gc root out 
IconLabel-heapobjects-out-class_out_old=class out old out 
IconLabel-heapobjects-out-classloader_obj=classloader object out 
IconLabel-heapobjects-out-classloader_obj_gc_root=classloader object gc root out 
IconLabel-heapobjects-out-instance_obj=instance object out 
IconLabel-heapobjects-out-instance_obj_gc_root=instance object gc root out 
IconLabel-heapobjects-package=package 
IconLabel-heapobjects-superclass=superclass 
IconLabel-help=help 
IconLabel-id=id 
IconLabel-immediate_dominators=immediate dominators 
IconLabel-import_report=import report 
IconLabel-info=info 
IconLabel-inspector_view=inspector view 
IconLabel-leak=leak 
IconLabel-list=list 
IconLabel-list_inbound=list inbound 
IconLabel-list_outbound=list outbound 
IconLabel-map_collision=map collision 
IconLabel-memory_analyzer_32=memory analyzer 32 
IconLabel-memory_analyzer_perspective=memory analyzer perspective 
IconLabel-misc-sum=sum 
IconLabel-misc-sum_plus=sum plus 
IconLabel-move_down=move down 
IconLabel-move_up=move up 
IconLabel-mpaths_from_gc=merge paths from gc 
IconLabel-mpaths_from_gc_by_class=merge paths from gc by class 
IconLabel-mpaths_to_gc_by_class=merge paths to gc by class 
IconLabel-navigator_view=navigator view 
IconLabel-notepad=notepad 
IconLabel-open_snapshot=open snapshot 
IconLabel-open_source_file=open source file 
IconLabel-oql=oql 
IconLabel-osgi-attr_xml_obj=attribute xml object 
IconLabel-osgi-bundle=bundle 
IconLabel-osgi-dependencies=dependencies 
IconLabel-osgi-dependents=dependents 
IconLabel-osgi-ext_point_obj=extension point object 
IconLabel-osgi-ext_points_obj=extension points object 
IconLabel-osgi-extension_obj=extension object 
IconLabel-osgi-extensions_obj=extensions object 
IconLabel-osgi-frgmt_obj=fragment object 
IconLabel-osgi-frgmts_obj=fragments object 
IconLabel-osgi-generic_xml_obj=generic xml object 
IconLabel-osgi-int_obj=int object 
IconLabel-osgi-location=location 
IconLabel-osgi-property=property 
IconLabel-osgi-registered_services=registered services 
IconLabel-osgi-registry=registry 
IconLabel-osgi-used_services=used services 
IconLabel-package=package 
IconLabel-path2gc=path2gc 
IconLabel-percentage=percentage 
IconLabel-phantom_reference=phantom reference 
IconLabel-pie_chart=pie chart 
IconLabel-pinned=pinned 
IconLabel-plus=plus 
IconLabel-query=query 
IconLabel-query_browser=query browser 
IconLabel-query_disabled=query disabled 
IconLabel-reference=reference 
IconLabel-refresh=refresh 
IconLabel-refreshing=refreshing 
IconLabel-remove=remove 
IconLabel-remove_console=remove console 
IconLabel-removeall=removeall 
IconLabel-retainedSet=retainedSet 
IconLabel-roots=roots 
IconLabel-save=save 
IconLabel-select_table=select table 
IconLabel-set_differenceA=set differenceA 
IconLabel-set_differenceB=set differenceB 
IconLabel-set_intersection=set intersection 
IconLabel-set_symmetric_difference=set symmetric difference 
IconLabel-set_union=set union 
IconLabel-show_histogram=show histogram 
IconLabel-show_pane=show pane 
IconLabel-show_retained_set=show retained set 
IconLabel-size=size 
IconLabel-soft_reference=soft reference 
IconLabel-stack_frame=stack frame 
IconLabel-synced=synced 
IconLabel-synced_disabled=synced disabled 
IconLabel-thread=thread 
IconLabel-threads=threads 
IconLabel-top_components_report=top components report 
IconLabel-unreachables_histogram=unreachables histogram 
IconLabel-waste=waste 
IconLabel-weak_reference=weak reference 
