Update: 2026-06-21 18:58:05

This commit is contained in:
Hamza-Ayed
2026-06-21 18:58:13 +03:00
parent b492b5076b
commit e73be65a72
8755 changed files with 92977 additions and 99 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 83 B

@@ -0,0 +1,702 @@
€ÁmagnifierConfiguration focusNodechildcontextMenuBuilderselectionControlsonSelectionChangedgetSelectableButtonItems createState_actions_gestureRecognizers_selectionOverlay_startHandleLayerLink_endHandleLayerLink_toolbarLayerLink_selectionDelegate _selectable_hasSelectionOverlayGeometry_lastOrientation_lastSelectedContent_webContextMenuEnabledselectionOverlay_processTextService_processTextActions_localFocusNode
_focusNode_selectionStatusNotifier initState_initProcessTextActionsdidChangeDependenciesdidUpdateWidget_makeOverridable_handleFocusChanged_updateSelectionStatus_isShiftPressed_lastSecondaryTapDownPosition_lastPointerDeviceKind_isPrecisePointerDevice_finalizeSelectableRegionStatus _getEffectiveConsecutiveTapCount_initMouseGestureRecognizer_onTapTrackStart_onTapTrackReset_initTouchGestureRecognizer_doubleTapOffset_startNewMouseSelectionGesture_handleMouseDragStart_handleMouseDragUpdate_handleMouseDragEnd_handleMouseTapUp_updateSelectedContentIfNeeded_handleTouchLongPressStart_handleTouchLongPressMoveUpdate_handleTouchLongPressEnd_positionIsOnActiveSelection_handleRightClickDown_selectionEndPosition_userDraggingSelectionEnd _scheduledSelectionEndEdgeUpdate_triggerSelectionEndEdgeUpdate␍_onAnyDragEnd_stopSelectionEndEdgeUpdate_selectionStartPosition_userDraggingSelectionStart"_scheduledSelectionStartEdgeUpdate _triggerSelectionStartEdgeUpdate_stopSelectionStartEdgeUpdate!_selectionStartHandleDragPosition_selectionEndHandleDragPosition$_handleSelectionStartHandleDragStart%_handleSelectionStartHandleDragUpdate"_handleSelectionEndHandleDragStart#_handleSelectionEndHandleDragUpdate_buildInfoForMagnifier_createSelectionOverlay_updateSelectionOverlay _showHandles _showToolbar _selectEndTo_selectStartTo_collapseSelectionAt␍_selectWordAt_selectParagraphAt_finalizeSelectionclearSelection_copy_sharecontextMenuAnchors_adjustingSelectionEnd!_determineIsAdjustingSelectionEnd_granularlyExtendSelection_directionalHorizontalBaseline_directionallyExtendSelectioncontextMenuButtonItems _textProcessingActionButtonItemsstartGlyphHeightendGlyphHeightselectionEndpoints
cutEnabled pasteEnabled hideToolbar selectAll␍copySelectiontextEditingValue␍bringIntoView cutSelectionuserUpdateTextEditingValue pasteTextaddremovedisposebuild invokeActioninvokestate granularity_hasReceivedStartEvent_hasReceivedEndEvent"_lastStartEdgeUpdateGlobalPosition _lastEndEdgeUpdateGlobalPositiondidReceiveSelectionEventFor!didReceiveSelectionBoundaryEventsupdateLastSelectionEdgeLocation/_updateLastSelectionEdgeLocationsFromGeometriesclearInternalSelectionState(clearInternalSelectionStateForSelectablehandleSelectAllhandleSelectWordhandleSelectParagraphhandleClearSelectionhandleSelectionEdgeUpdatedispatchSelectionEventToChildensureChildUpdateddidChangeSelectables selectables$_kSelectionHandleDrawableAreaPaddingcurrentSelectionEndIndexcurrentSelectionStartIndex_startHandleLayer_startHandleLayerOwner_endHandleLayer_endHandleLayerOwner_isHandlingSelectionEvent_scheduledSelectableUpdate_selectionInProgress
_additions_extendSelectionInProgresslayoutDidChange_scheduleSelectableUpdate_updateSelectables_flushAdditions_removeSelectablevalue_selectionGeometry_updateSelectionGeometry_getBoundingBox compareOrder_compareScreenOrder_compareVertically_compareHorizontally_handleSelectableGeometryChangegetSelectionGeometry-_adjustSelectionIndexBasedOnSelectionGeometrypushHandleLayers_updateHandleLayersAndOwnersgetSelectedContent␍contentLength_calculateLocalRange getSelection_flushInactiveSelections_handleSelectBoundaryhandleGranularlyExtendSelection"handleDirectionallyExtendSelectiondispatchSelectionEvent_initSelection_adjustSelectionchanging finalized _selectableRegionSelectionStatusselectionStatusNotifiermaybeOfupdateShouldNotifyselectionNotifier_initialSelectionGeometry_selectionNotifier _setNotifiernotifyListenersrangestatus selection
registered"_registerSelectionListenerDelegate$_unregisterSelectionListenerDelegate addListener_kLongPressSelectionDevices&_kSelectableVerticalComparingThresholdSelectableRegionSelectableRegionState_NonOverrideAction_SelectAllAction_CopySelectionAction _GranularlyExtendSelectionAction%_GranularlyExtendCaretSelectionAction(_DirectionallyExtendCaretSelectionAction StaticSelectionContainerDelegate)MultiSelectableSelectionContainerDelegate_SelectionInfo"SelectableRegionContextMenuBuilderSelectableRegionSelectionStatus(_SelectableRegionSelectionStatusNotifier$SelectableRegionSelectionStatusScopeSelectionListener_SelectionListenerState_SelectionListenerDelegateSelectionDetailsSelectionListenerNotifier�¾SetPointerDeviceKindtouchstylusinvertedStylusdoubleText␍SelectionAreamaterial
SelectableSelectionContainerSelectionEventSelectionRegistrarScopedelegateSelectionRegistrarmaybeOfSelectionRegistrantdisabledchanging finalizedValueListenable addListenerStatedidChangeDependenciesdisposeremoveListener WidgetTesterdragFrom GlobalKeySelectableTextSelectionHandlerStatefulWidgetTextMagnifierConfiguration FocusNodeWidgetemptyTextSelectionControlsTextSelectionControls ValueChangedSelectedContentContextMenuButtonItemcontextMenuButtonItems EditableTextgetEditableButtonItemsAdaptiveTextSelectionToolbar buttonItemsgetAdaptiveButtonsListSelectionGeometry VoidCallbackselectionGeometrystatusSelectionStatus uncollapsedbool
hasContentkIsWebdefaultTargetPlatformTargetPlatformandroidmacOSfuchsialinuxwindowsiOSonShare onPressedonCopytypeContextMenuButtonTypecopyshare onSelectAll selectAlloverrideTextSelectionDelegateMapTypeActionIntentSelectAllTextIntentCopySelectionTextIntent6ExtendSelectionToNextWordBoundaryOrCaretLocationIntent granularityTextGranularityword'ExpandSelectionToDocumentBoundaryIntentdocument ExpandSelectionToLineBreakIntentline ExtendSelectionByCharacterIntent character'ExtendSelectionToNextWordBoundaryIntent ExtendSelectionToLineBreakIntent-ExtendSelectionVerticallyToAdjacentLineIntent'ExtendSelectionToDocumentBoundaryIntentGestureRecognizerFactorySelectionOverlay LayerLinkvaluestartSelectionPointendSelectionPoint OrientationBrowserContextMenuenabledvisibleForTestingProcessTextServiceDefaultProcessTextServiceProcessTextActionwidget focusNode
debugLabel_ protectedvoid initStateTapGestureRecognizer$GestureRecognizerFactoryWithHandlers
debugOwnerinstanceonSecondaryTapDownFutureclearaddAllqueryTextActions
MediaQuery␍orientationOfcontextdidUpdateWidgethasFocus overridable␍defaultAction#PlatformSelectableRegionContextMenudetachSchedulerBindinglifecycleStateAppLifecycleStateresumedattach␍TextSelection collapsed
baseOffset extentOffsetnoneoffsetTextEditingValuetext selectionPointerDownEventBaseTapAndDragGestureRecognizerOffsetmousetrackpadunknownintminTapAndPanGestureRecognizersupportedDevicesonTapTrackStartonTapTrackReset onTapDownonTapUp onDragStart onDragUpdate onDragEndonCanceldragStartBehaviorDragStartBehaviordownHardwareKeyboardlogicalKeysPressed intersectionLogicalKeyboardKey shiftLeft
shiftRight
isNotEmpty%TapAndHorizontalDragGestureRecognizervalueswheredevicetoSeteagerVictoryOnDragLongPressGestureRecognizeronLongPressStartonLongPressMoveUpdateonLongPressEndTapDragDownDetailskindconsecutiveTapCount requestFocusisShiftPressedValidglobalPositionTapDragStartDetailsTapDragUpdateDetails
continuoustextGranularity paragraphTapDragEndDetailsTapDragUpDetailstoolbarIsVisibleisPointerPreciseonSelectionChangedgetSelectedContent plainTextcallLongPressStartDetailsHapticFeedbackselectionClickLongPressMoveUpdateDetailsLongPressEndDetailsRectselectionRectsMatrix4getTransformTo MatrixUtils␍transformRect␍selectionRectcontainsTapDownDetails0lastSecondaryTapDownPositionWasOnActiveSelectionlocationSelectionEdgeUpdateEventSelectionResultpendingdispatchSelectionEventforEndaddPostFrameCallbackDurationDragEndDetailsisDraggingStartHandleisDraggingEndHandle␍hideMagnifierforStartDragStartDetails␍localPositiontransformPoint␍showMagnifierDragUpdateDetailsdelta
lineHeightupdateMagnifier␍MagnifierInfoSelectionPointVector3getTranslationxyfromLTWHdxdyglobalGesturePosition caretRect fieldBoundssizecurrentLineBoundariesdebugRequiredForstartHandleType
handleTypeTextSelectionHandleTypelineHeightAtStartonStartHandleDragStartonStartHandleDragUpdateonStartHandleDragEnd␍endHandleTypelineHeightAtEndonEndHandleDragStartonEndHandleDragUpdateonEndHandleDragEndselectionEndpointsselectionControlsselectionDelegateclipboardStatusstartHandleLayerLinkendHandleLayerLinktoolbarLayerLinkmagnifierConfigurationleftright showHandlesOverlaytoolbarLocationTextSelectionHandleControls showToolbar hideToolbarcontextMenuBuilder BuildContextSelectWordSelectionEventSelectParagraphSelectionEventClearSelectionEvent ClipboardsetData␍ClipboardDataSystemChannelsplatform invokeMethodTextSelectionToolbarAnchors␍primaryAnchorfindRenderObject RenderBox␍fromSelection renderBoxstartGlyphHeightendGlyphHeight hasSelectionGranularlyExtendSelectionEventforwardisEnd!DirectionallyExtendSelectionEvent directionSelectionExtendDirectionnextLine previousLinegetSelectableButtonItemsEditableTextStateSelectionChangedCausetoolbaraddlabelactionStringprocessTextActionidTextSelectionPoint␍TextDirectionltr
Deprecated hideHandlesSelectAllSelectionEventcause TextPositionpushHandleLayersdebugCheckHasOverlayselectionStatusNotifierchild registrar TapRegiongroupId onTapOutsideunfocusCompositedTransformTargetlinkRawGestureDetectorgesturesbehaviorHitTestBehavior translucentexcludeFromSemanticsActionsactionsFocuswithExternalFocusNodeincludeSemantics␍ContextActionObject␍callingActioninvokekeyboard_copyDirectionalTextEditingIntent_granularlyExtendSelectionDirectionalCaretMovementIntentcollapseSelection_directionallyExtendSelectionSelectionContainerDelegate
selectablecurrentSelectionStartIndexcurrentSelectionEndIndexmaxindex selectablesglobalSelectionEdgeLocationforEachremovehandleSelectAllhandleSelectWordhandleSelectParagraphhandleClearSelectionSelectionEventType␍endEdgeUpdatehandleSelectionEdgeUpdatestartEdgeUpdate
selectWordselectParagraphgranularlyExtendSelectiondirectionallyExtendSelectiondispatchSelectionEventToChild removeWheredidChangeSelectablesChangeNotifier kFlutterMemoryAllocationsEnabledmaybeDispatchObjectCreationschedulerPhaseSchedulerPhasepostFrameCallbacksscheduleMicrotasktoListsortlengthindexOfremoveAt␍mustCallSupernotifyListeners␍boundingBoxesfirstexpandToInclude
ComparatortopbottomabsprecisionErrorToleranceisEmptygetTransformFromisFinitehasSize␍containerSizewidthheightmap intersectinflatedata StringBufferwritetoString␍contentLengthfoldsumSelectedContentRange getSelection endOffset startOffsetrangetargetrectnextpreviousendbackwardcopyWithEditableTextContextMenuBuilderInheritedWidget"dependOnInheritedWidgetOfExactTypeselectionNotifier _setNotifier"_registerSelectionListenerDelegate$_unregisterSelectionListenerDelegate Exception␍StatefulWidgetStateTextSelectionDelegateSelectionRegistrar␍ContextAction_NonOverrideAction)MultiSelectableSelectionContainerDelegateSelectionContainerDelegateChangeNotifierValueListenableInheritedWidget StaticSelectionContainerDelegateSelectionDetailsJÁ␍í–p?büÅ3«=0¡�^
dart:async�s dart:math�ˆpackage:flutter/foundation.dart�²package:flutter/gestures.dart�Úpackage:flutter/rendering.dart‚package:flutter/scheduler.dart‚,package:flutter/services.dart‚T'package:vector_math/vector_math_64.dart‚‡ actions.dart‚ž
basic.dart‚³context_menu_button_item.dart‚Û
debug.dart‚ðfocus_manager.dartƒ␍focus_scope.dartƒ(framework.dartƒAgesture_detector.dartƒamagnifier.dartƒzmedia_query.dartƒ• overlay.dartƒ¬,platform_selectable_region_context_menu.dartƒãselection_container.dart„tap_region.dart„ text_editing_intents.dart„Dtext_selection.dart„b#text_selection_toolbar_anchors.dartÀáÀ:bŽM<€†€¤€¥€Õ���7�S�\�]�r�†�‡�±�Ù‚‚+‚S‚…‚†‚�‚²‚Ú‚ïƒ ƒ'ƒ@ƒ`ƒyƒ”ƒ«ƒâ„„„C„a„�„�„¨„¿„À……+…G…k…n…o…½† †L†‡†ˆ†Â†Æ‡‡c‡³‡ÿˆFˆ–ˆ¼ˆÀ‰‰9‰=‰…‰ÑŠŠlŠpŠœŠ Šñ‹'‹+‹|‹¿‹ä‹èŒ)ŒsŒÂ��b�°�Ü�àŽ1ŽŽÅ��3�7�‚��ú� �␍�;�?�S�W�c�t�’�Ì�å‘)‘C‘i‘©‘鑸’’’’’'’7’;’?’d’‰’ª’Ì’ï““8“^“Ž“º“å””>”s”©”­”±”Ӕו'•i•�•…•Ï––S–W–¦–ñ—<—[—_—s—¿—Ü—à˜;˜K˜O˜e˜i˜¸™™C™G™[™§™í™ñšPš`šdšµšý› ›$›8›†›Š›òœœœPœ£œò�@�D�\�`�¸žžhžÄŸŸŸQŸ…Ÿ‰ŸÜ / J N ž¡ ¡\¡ª¡ø¢¢"¢/¢3¢„¢Õ££££v£~£‚£�£”£Ô¤¤K¤ž¤¹¥ ¥W¥p¥¾¦ ¦Y¦�¦±¦ß¦å§3§U§p§§œ§°§÷¨¨9¨R¨X¨Y¨¨¨®¨ÿ©J©|©‚©±©ì©íªª:ª;ªrªxª©ª¿ªÀªÿ«?«@«‰«˜«ž«è¬'¬X¬Y¬‰¬Å¬Æ­­;­A­‘­­­³­Ã­É®®S®¤®Þ¯/¯d¯˜¯ë°4°t°¬°Ô±±+±2±±»±ð²²%²N²«²Í²ñ³³>³�³æ´´Y´€´‹´Ê´Ëµµfµgµ¸µþ¶¶5¶”¶Ä··2·�·Á¸¸¸"¸#¸/¸q¸s¸t¸˜¸Ô¸ó¹¹a¹¤¹ïº=º�º«ºÖºßºæ»%»v»„»³»¼»Ã»û¼E¼S¼~¼‡¼Ž¼Æ½½#½S½\½c½¢½ø¾¾1¾:¾A¾y¾È¾Ö¿¿
¿¿V¿»¿ÂÀ@À@WÀ@eÀ@”À@�À@¤À@©À@ªÀ@ìÀAÀA=ÀAtÀA©ÀAÜÀB>ÀBŽÀB©ÀBªÀBÕÀCÀCMÀCNÀCoÀC˜ÀC™ÀCÓÀDÀDXÀDjÀD�ÀDŸÀDÃÀDüÀE/ÀE0ÀEvÀE|ÀE¹ÀEÎÀF␍ÀFÀFeÀF³ÀF´ÀFýÀGJÀGKÀG‡ÀG¥ÀGÃÀHÀHÀHyÀHÅÀHùÀHúÀIÀIÀI(ÀI?ÀIpÀI“ÀI¶ÀIËÀIûÀJ?ÀJwÀJ£ÀJäÀJñÀJüÀKÀKÀK ÀKqÀK–ÀKÇÀKèÀL6ÀL:ÀL;ÀLHÀLTÀLuÀL˜ÀL½ÀLàÀLÿÀMÀM1ÀMRÀMsÀM–ÀM¦ÀM¬ÀM­ÀMøÀN?ÀNcÀN‰ÀN—ÀN�ÀNÈÀNîÀO2ÀO8ÀO<ÀO=ÀOJÀOVÀO‹ÀO±ÀOäÀP)ÀPgÀP‹ÀP«ÀP÷ÀQ9ÀQAÀQtÀQ¶ÀQÕÀQÝÀQãÀQçÀQèÀR2ÀR„ÀRˆÀR‰ÀR¨ÀRÈÀRìÀS4ÀS<ÀS�ÀSÞÀT*ÀT{ÀTÆÀUÀUhÀUŒÀU¦ÀUùÀV$ÀV,ÀV2ÀVTÀVšÀV ÀV¤ÀV¥ÀVÇÀWÀWGÀWlÀWÄÀX ÀXÀX^ÀX†ÀX§ÀX´ÀXØÀXøÀXþÀYÀYÀYÀYÀYcÀYŸÀY¿ÀYÀÀZÀZÀZFÀZGÀZ–ÀZ­ÀZÚÀZÛÀ[(À[IÀ[mÀ[‚À[©À[ÎÀ[ûÀ\À\EÀ\[À\aÀ\eÀ\fÀ\‘À\çÀ]4À]BÀ]HÀ]˜À]œÀ]�À]íÀ^@À^�À^ÕÀ^ÚÀ_,À_@À_wÀ_–À_»À_ÞÀ`À`dÀ`²À`þÀa4ÀaUÀa_Àa¬ÀbÀbKÀb–ÀbèÀc1Àc^ÀcuÀc¦ÀcÌÀcÿÀd ÀdmÀdÂÀeÀe^Àe°ÀeùÀf&Àf=ÀfnÀf”ÀfÇÀfæÀgÀg*ÀgwÀgÌÀhÀhDÀhuÀh{ÀhÀh€Àh§ÀhÝÀi'ÀiSÀiqÀi½ÀiÊÀiüÀjÀjDÀjwÀj²ÀjÞÀkÀkHÀkxÀk¢ÀkÞÀkëÀköÀkúÀkûÀlÀlhÀlÁÀlÓÀl×ÀlØÀlôÀmÀmÀmÀm=Àm•ÀmíÀnLÀn�ÀnâÀoÀo7Ào‘ÀoÉÀoáÀoîÀp+Àp@ÀpƒÀpÐÀqÀqSÀq–ÀqØÀrÀr^Àr ÀrÞÀsÀs`Às„ÀsÕÀtÀt<ÀtpÀt¦ÀtÖÀuÀu<ÀuIÀuTÀuŠÀuÔÀvÀvÀvYÀvfÀv˜Àv­ÀvëÀw3ÀwnÀw{Àw†ÀwŠÀw‹Àw§ÀwëÀxÀxcÀxqÀx”Àx½ÀxäÀy Ày.Ày~Ày’Ày¥ÀyÊÀyïÀzÀz1ÀzÀzÏÀ{À{EÀ{rÀ{ËÀ{òÀ|.À|‡À|œÀ|ªÀ|ÈÀ}
À}aÀ}kÀ}yÀ}¢À}ÅÀ~"À~{À~´À~ÉÀ~×ÀÀiÀ¼ÀÚÀèÀ€À€6À€[À€€À€§À€âÀ�9À�CÀ�QÀ�zÀ�¡À�ÈÀ�ëÀ‚=À‚„À‚¿ÀƒÀƒZÀƒhÀƒ�Àƒ²ÀƒÙÀ„À„pÀ„zÀ„€À„¦À„ªÀ„«À„çÀ…4À…BÀ…‘À…ÜÀ…îÀ…øÀ†0À†ƒÀ†‰À†¯À†³À†´À†òÀ‡?À‡MÀ‡œÀ‡çÀ‡ùÀˆÀˆKÀˆžÀˆ¬ÀˆÕÀˆüÀ‰#À‰vÀ‰¬ÀŠ ÀŠ%ÀŠUÀŠwÀŠ®ÀŠ¿À‹À‹&À‹IÀ‹cÀ‹‹À‹ÆÀ‹òÀŒEÀŒpÀŒ¨ÀŒÏÀŒÝÀŒ÷À�%À�EÀ�zÀ�‰À�àÀŽ3ÀŽQÀŽ_ÀŽ„ÀŽ©ÀŽÐÀŽêÀ�À�8À�mÀ�|À�ÓÀ�ÝÀ�ëÀ�À�;À�bÀ�…À�ÕÀ�þÀ‘PÀ‘lÀ‘œÀ‘¾À‘úÀ’ À’dÀ’rÀ’—À’¼À’ãÀ’ýÀ“+À“KÀ“…À“”À“ëÀ“õÀ“ûÀ”!À”%À”&À”^À”ŠÀ”ÞÀ•-À•À•ÐÀ•ðÀ–7À–\À–À–¢À–ÔÀ–îÀ—À—À—1À—cÀ—}À—‡À—¨À—ÉÀ—ìÀ˜=À˜LÀ˜RÀ˜lÀ˜’À˜¹À˜½À˜¾À˜óÀ™*À™zÀ™ÄÀšÀšWÀšuÀš‘Àš Àš¸ÀšÀÀšÎÀšÔÀ›!À›/À›XÀ›À›¦À›ÉÀ›äÀœ&Àœ}Àœ¢ÀœÇÀœîÀ�2À�<À�JÀ�—À�ÀÀ�çÀžÀž3ÀžˆÀžÛÀžùÀŸÀŸ%ÀŸHÀŸmÀŸ‰ÀŸéÀ À À aÀ ´À ÒÀ àÀ¡À¡*À¡QÀ¡˜À¡ºÀ¡ÍÀ¡×À¡ÝÀ¢À¢*À¢.À¢/À¢YÀ¢†À¢”À¢šÀ¢âÀ£#À£IÀ£†À£ŒÀ£�À£‘À£ÔÀ£ùÀ¤À¤KÀ¤šÀ¤åÀ¥7À¥†À¥ÁÀ¥×À¥ÝÀ¦À¦À¦À¦UÀ¦®À¦ýÀ§#À§'À§(À§gÀ§�À§§À§ÎÀ§âÀ¨À¨3À¨9À¨=À¨>À¨†À¨ÖÀ©À©lÀ©�À©²À©ºÀ©ÀÀ©ÒÀ©ÖÀ©×ÀªÀªbÀª²ÀªîÀ«␍À«2À«UÀ«xÀ«›À«ìÀ¬,À¬�À¬ÂÀ¬ÍÀ­␍À­bÀ­ŒÀ­ÎÀ­èÀ®)À®UÀ®gÀ®qÀ®·À®ÖÀ¯À¯6À¯›À¯´À¯ÆÀ¯ÐÀ°À°0À°PÀ°iÀ°{À°…À°ÖÀ±À±zÀ±¬À±·À±øÀ²@À²JÀ²PÀ²ŸÀ²ÆÀ³À³9À³uÀ³‰À³ÄÀ³êÀ³îÀ³ïÀ´À´À´7À´~À´¯À´°À´öÀ´üÀµMÀµžÀµÐÀÀ¶hÀ¶³À·À·JÀ·”À·¢À·¨À·ÕÀ¸À¸4À¸^À¸kÀ¸xÀ¸›À¸ÊÀ¹À¹GÀ¹YÀ¹cÀ¹•À¹ßÀºÀº%Àº+Àº/Àº0Àº_Àº€Àº¥À»À»À»IÀ»_À»eÀ»À»¥À»ÌÀ»ÐÀ»ÑÀ»øÀ¼&À¼HÀ¼LÀ¼MÀ¼pÀ¼»À¼îÀ¼ïÀ½7À½=À½ŽÀ½ßÀ¾À¾_À¾«À¾öÀ¿EÀ¿�À¿ÛÀ¿éÀ¿ïÀÀÀÀIÀÀÀÀ©ÀÀ¶ÀÀÃÀÀæÀÁÀÁcÀÁ–ÀÁ¨ÀÁ²ÀÁæÀÂ2ÀÂlÀÂzÀ€À„ÀÂ…À®ÀÂÞÀÃÀÃÀÃÀÃ+ÀÃ,ÀÃ]ÀÃŒÀÃ�ÀÃÕÀÄÀÄÀÄvÀĽÀÅ!ÀÅ"ÀÅHÀÅ­ÀÅ´ÀÅÚÀÅÞÀÅßÀÆ)ÀÆ„ÀÆÎÀÇÀÇ5ÀÇaÀDzÀÇÚÀÇÛÀÈÀÈhÀÈoÀÈ•ÀÈäÀÈèÀÈéÀÉ/ÀÉoÀÉËÀÊÀÊtÀÊuÀÊ›ÀÊþÀËÀË+ÀË/ÀË0ÀËxÀËÏÀÌÀÌbÀÌ~Ą̀ÀÌ÷ÀÍÀÍÀÍFÀÍ©ÀͰÀÍÖÀÎ%ÀÎ)ÀÎ*ÀÎRÀÎtÀΗÀÎ�ÀÎõÀÏGÀÏwÀÏ·ÀÏÜÀÐÀÐFÀÐOÀÐpÀÐwÀÐxÀÐ’ÀÐÆÀÐâÀÑ"ÀÑlÀÑsÀÑwÀÑxÀÑ›ÀÑÅÀÑêÀÑøÀÑþÀÒNÀÒšÀÒÄÀÒÜÀÒüÀÓKÀÓŠÀÓÎÀÔÀÔ?ÀÔŠÀÔÇÀÕÀÕIÀÕrÀÕ ÀÕÓÀÕòÀÖÀÖBÀÖqÀÖœÀÖÙÀÖàÀÖäÀÖåÀ×À×-À×;À×AÀ×kÀ×»ÀØÀØÀØjÀØ«ÀØôÀÙ3ÀÙdÀÙhÀÙiÀÙŒÀÙ’ÀÙÝÀÙêÀÚÀÚ'ÀÚOÀÚbÀÚhÀÚiÀÚ’ÀÚ¦ÀÚ¬ÀÚ­ÀÚÌÀÚòÀÛÀÛÀÛÀÛ0ÀÛ6ÀÛ�ÀÛÑÀÜÀÜ/ÀÜ5À܆ÀܰÀÜöÀÝ
ÀÝÀÝÀÝbÀݲÀÞÀÞMÀÞŽÀÞ°ÀÞÄÀÞÊÀÞËÀÞðÀßÀßÀßÀßKÀß—ÀßåÀà3ÀàwÀàŸÀà²Àà¸Àà¹ÀàßÀààÀáÀáÀáOÀá‰Àá’Àá™ÀáªÀá®Àá¯ÀáòÀáøÀâFÀâ˜ÀâàÀâæÀã*ÀãhÀãnÀã¸ÀäÀäOÀäuÀä{Àä®Àä´ÀäáÀäçÀå;ÀåƒÀå¹Àå¿ÀåÏÀæÀæ[ÀæšÀæàÀç2Àç‚ÀçºÀçÐÀçìÀè Àè/Àè6ÀèMÀèxÀè×ÀèàÀèîÀèôÀéÀéEÀé�Àé“Àé—Àé˜ÀéÝÀéãÀê1ÀêƒÀêËÀêÑÀëÀëUÀë[Àë¥ÀëôÀì<ÀìbÀìhÀì›Àì¡ÀìÎÀìÔÀí(ÀípÀí¦Àí¬Àí¼ÀíÿÀîDÀîƒÀîÉÀïÀïkÀï£Àï»Àï×ÀïôÀðÀð!Àð8ÀðcÀðÄÀðÍÀðÛÀðáÀñÀñ6Àñ€Àñ†ÀñŠÀñ‹ÀñÉÀñÏÀñüÀòÀòÀòYÀòœÀòáÀó ÀófÀó¸ÀóðÀô(ÀôUÀôoÀô“ÀôµÀô¹ÀôºÀôïÀôõÀõ"Àõ(ÀõuÀõÀÀö ÀöÀödÀö‹Àö‘Àö¡ÀöèÀ÷+À÷pÀ÷¯À÷ÿÀøQÀø‰ÀøºÀøçÀùÀù\Àù`ÀùaÀùžÀù¤ÀùÑÀù×Àú#ÀúnÀú¿ÀúÅÀûÀû>ÀûDÀûTÀû›ÀûÞÀü#ÀüaÀü§ÀüßÀýÀýBÀý\Àý¼ÀýÀÀýÁÀýìÀýòÀþ?Àþ‚ÀþˆÀþÖÀÿ&ÀÿoÀÿ€ÀÿžÀÿÁÀÿæÀÿêÀÿëÀ,ÀFÀ`À‹À®ÀôÀÀÀÀ>ÀƒÀ›À©À¯ÀñÀõÀöÀÀ[ÀsÀ�À‡À×ÀÛÀÜÀÀÀ)À/À~À­ÀäÀÀwÀÌÀ#ÀOÀeÀkÀ«ÀáÀýÀ'ÀMÀ{À‚À†À‡À§ÀàÀ
À0À6ÀQÀ¡ÀíÀ&À?ÀÀ™À¦ÀèÀîÀ 8À sÀ wÀ xÀ ÇÀ òÀ
$À
2À
8À
aÀ
‡À
¡À
ÜÀ
þÀ À À 4À ƒÀ ªÀ ®À ¯À ÙÀ ÚÀ À AÀ OÀ UÀ «À íÀ␍#À␍\À␍£À␍íÀ%ÀWÀ^À‡À°ÀØÀóÀ#ÀXÀƒÀŒÀ“À¹ÀÀ/À3À4À\À]À©ÀÒÀØÀèÀîÀBÀ�ÀáÀ(ÀwÀ�ÀÞÀÀGÀ“ÀãÀÀTÀ‡ÀšÀ«À¬ÀãÀ À3ÀZÀxÀÏÀþÀ!ÀAÀfÀ‹À²ÀÍÀ×ÀàÀøÀ!ÀHÀkÀ’ÀÈÀíÀÀ9ÀRÀmÀwÀ€À”À¦À§ÀàÀ À0ÀWÀuÀÌÀûÀÀ>ÀcÀˆÀ¯ÀÊÀÔÀÝÀÀÀÀXÀ‹ÀÐÀèÀÀÀ ÀKÀbÀ�À ÀÀÀøÀ#À}ÀšÀ¨ÀµÀÀÀÉÀÏÀçÀëÀìÀ)ÀIÀŽÀ’À“ÀÎÀìÀ/À3À4ÀƒÀ·À À SÀ }À ÏÀ!À!VÀ!{À!¼À!ÿÀ"À"À":À"}À"¾À"ÇÀ"ÍÀ"àÀ"äÀ"åÀ#␍À#OÀ#{À#±À#²À#ÁÀ#êÀ$#À$'À$3À$SÀ$TÀ$cÀ$ŒÀ$ÅÀ$ÉÀ$ÕÀ$÷À$øÀ%À%4À%ZÀ%qÀ%™À%ŸÀ%£À%¤À%°À%ãÀ%ùÀ&CÀ&uÀ&‹À&¡À&§À&ÍÀ'À'CÀ'GÀ'HÀ'WÀ'€À'¹À'½À'ÉÀ'ýÀ(
À( À(oÀ(–À(šÀ(›À(ªÀ(ÓÀ) À)À)À)eÀ)fÀ)uÀ)žÀ)×À)ÛÀ)çÀ*À*OÀ*SÀ*TÀ*cÀ*ŒÀ*ÅÀ*ÉÀ*ÕÀ+À+À+À+ À+/À+XÀ+‘À+•À+¡À+úÀ,-À,1À,2À,AÀ,jÀ,£À,§À,³À,ñÀ-À-À- À--À-.À-:À-^À-À-�À-ÓÀ."À.&À.'À.3À.ZÀ.�À.ºÀ.éÀ/À/À/À/À/À/2À/kÀ/šÀ/¼À/äÀ02À0lÀ0”À0¶À0ÔÀ1À1IÀ1iÀ1~À1‚À1ƒÀ1�À1œÀ1ÃÀ1îÀ2*À2cÀ2ÈÀ2ÏÀ2ñÀ34À3:À3PÀ3qÀ3 À3çÀ40À4IÀ4TÀ4–À4ÂÀ4ØÀ4øÀ5À5 À53À5TÀ5wÀ5 À5ÑÀ5÷À6À60À6`À6‡À6¬À6ÉÀ6ØÀ6åÀ6ðÀ6ùÀ7À7À7À7À7UÀ7YÀ7§À7øÀ8 À8[À8–À8—À8£À8ÙÀ8úÀ9&À9,À9VÀ9ZÀ9\À9]À9¦À9ÆÀ9ÇÀ9ìÀ9íÀ9ùÀ:DÀ:yÀ:}À:À:€À:ÑÀ:õÀ:öÀ;À;À;(À;wÀ;ŠÀ;ŽÀ;�À;‘À;àÀ<À<QÀ<RÀ<wÀ<œÀ<�À<©À<âÀ=%À=)À=+À=,À=‚À=¦À=øÀ=ùÀ>À>CÀ>DÀ>PÀ>‰À>­À>ãÀ>ñÀ>÷À?:À?>À?@À?AÀ?šÀ?¾À?öÀ?÷À@À@À@)À@bÀ@†À@¼À@ÊÀ@ÐÀA ÀA␍ÀAÀAÀA^ÀA™ÀA�ÀAëÀB8ÀB�ÀB…ÀBÕÀC#ÀCtÀCÉÀCïÀCóÀDKÀD¦ÀDÿÀEfÀEjÀExÀE|ÀEÌÀFÀFrÀF²ÀFóÀFôÀG2ÀGqÀGrÀGµÀGãÀGäÀH%ÀHQÀHRÀH¬ÀH²ÀIÀIXÀImÀIsÀIÌÀIèÀIîÀJIÀJaÀJgÀJÅÀKÀK+ÀK€ÀK–ÀK§ÀKÕÀKçÀLÀL(ÀLXÀL†ÀLŒÀL�ÀL‘ÀLÚÀMÀM^ÀMdÀM®ÀNÀNPÀNmÀNsÀNÑÀO*ÀO7ÀOdÀO²ÀOÀÀOÆÀPÀPfÀPžÀPáÀPçÀQÀQ"ÀQ#ÀQtÀQ©ÀQ¶ÀQßÀRÀR*ÀR1ÀRCÀR‰ÀR–ÀRÞÀRäÀRèÀRéÀS9ÀSiÀS¤ÀSÐÀTÀT^ÀT‚ÀT½ÀUÀU+ÀUlÀU’ÀU¬ÀU·ÀUÎÀU×ÀUÝÀVÀVKÀV�ÀV±ÀVèÀW+ÀWRÀW“ÀW·ÀWÏÀWÚÀWðÀWùÀWÿÀXÀXÀX/ÀX5ÀXyÀX¿ÀXþÀY ÀY2ÀYuÀY¤ÀYÑÀYÕÀYÖÀZÀZ ÀZhÀZ˜ÀZžÀZâÀ[/À[<À[…À[´À[áÀ[åÀ[æÀ[òÀ\À\SÀ\qÀ\uÀ\vÀ\‚À\ÅÀ]À]/À]BÀ]FÀ]GÀ]SÀ]˜À]ÚÀ^À^À^À^À^'À^vÀ^½À^æÀ^ùÀ^ýÀ^þÀ_
À_NÀ_”À_·À_ÊÀ_ÎÀ_ÏÀ_ÛÀ`)À`NÀ`‡À`ÅÀ`ÌÀ`ÿÀaÀaÀaÀa#ÀaFÀa[Àa_Àa`ÀalÀaËÀaåÀbÀb`ÀbˆÀbµÀcÀc(ÀcMÀc‹Àc´ÀcÞÀd␍ÀdÀdUÀd‘ÀdÎÀdöÀdüÀe?ÀeCÀeDÀeœÀe¢ÀeÄÀfÀf?ÀflÀf¾ÀfùÀgAÀgbÀgnÀg¡ÀgýÀh=ÀhxÀh�Àh­ÀhâÀhêÀi%Ài+Ài‹ÀiÍÀj
ÀjÀjAÀjvÀj~Àj¹Àj¿ÀjÃÀjÄÀjÐÀjðÀk$ÀkEÀk¡ÀkªÀk°ÀkæÀlÀlgÀlpÀlvÀlµÀlÛÀm!Àm(ÀmPÀm–Àm�Àm¿ÀmÃÀmÅÀmÆÀnÀnÀn!ÀnrÀnÀÀoÀo\ÀovÀoÀÀoðÀpÀpTÀpZÀp^Àp_ÀpŸÀpÐÀpÑÀqÀq*Àq0Àq~ÀqÎÀqéÀqïÀr5ÀrnÀrtÀr¹ÀrûÀrüÀsAÀsNÀssÀstÀs»ÀsÈÀsïÀsðÀtÀt6ÀtTÀtxÀtyÀt£ÀtÎÀtóÀu"Àu#ÀuNÀuOÀu[ÀuÀu®ÀuÎÀuïÀuóÀuôÀvÀv'ÀvPÀv˜ÀvÄÀvÍÀwÀw(Àw.ÀwQÀwrÀwvÀwwÀw¾ÀwÙÀwùÀwýÀwþÀx#ÀxJÀxsÀx§ÀxÒÀxäÀxîÀyÀy8Ày@ÀyAÀyœÀyíÀz9Àz…Àz¿ÀzìÀzûÀ{3À{OÀ{ŒÀ{—À{ŸÀ{¥À{©À{ªÀ{ÈÀ{ìÀ|␍À|&À|,À|HÀ|LÀ|MÀ|hÀ|ÁÀ|ÿÀ}!À};À}VÀ}�À}ÆÀ}åÀ~JÀ~�À~ºÀÀ5ÀpÀ¤À®ÀçÀ€À€#À€`À€|À€ŽÀ€–À€—À€èÀ�À�SÀ�ªÀ‚À‚0À‚8À‚~À‚¨À‚ÁÀ‚ÇÀ‚ÓÀƒÀƒ?Àƒ}Àƒ„Àƒ×À„&À„tÀ„ÃÀ…À…@À…vÀ…—À…›À…œÀ…ÎÀ†(À†_À†€À†­À†ÒÀ†ØÀ‡À‡.À‡4À‡tÀ‡xÀ‡yÀ‡¾À‡ËÀ‡ÜÀ‡üÀˆÀˆ Àˆ!Àˆ-ÀˆbÀˆ¤Àˆ»ÀˆÝÀˆâÀˆãÀ‰0À‰TÀ‰“À‰½À‰âÀ‰ûÀŠÀŠ%ÀŠ)ÀŠ*ÀŠaÀŠ“ÀŠâÀ‹*À‹0À‹CÀ‹GÀ‹HÀ‹”À‹´À‹ºÀ‹ÚÀ‹çÀŒ)ÀŒ*ÀŒiÀŒÇÀ�%À�^À�uÀ�ŠÀ��À�¿À�ÃÀ�ÄÀŽÀŽ ÀŽ&ÀŽpÀ޲ÀŽäÀ�%À�hÀ�¶À�ùÀ�GÀ�WÀ�]À�§À�ÌÀ�ÒÀ�ûÀ�ÿÀ‘À‘PÀ‘˜À‘žÀ‘ÝÀ’À’&À’‹À’œÀ’¢À’·À“À“,À“2À“oÀ“–À“œÀ“ÃÀ“ÇÀ“ÈÀ“óÀ”DÀ”’À”ÜÀ•À•À•À•5À•9À•:À•À•ŒÀ•¹À–À–DÀ–¦À–¬À–­À–ÔÀ—&À—JÀ—lÀ—uÀ—ÅÀ—çÀ˜ À˜À˜À˜À˜SÀ˜¨À™À™9À™tÀ™©À™ÞÀšÀšÀš Àš@ÀšuÀšËÀ›À›À›TÀ›]À›•À›±À›ÖÀ›öÀœ;Àœ€Àœ‹Àœ“Àœ™ÀœšÀœÐÀ�!À�TÀ�¸À�ëÀž"Àž(ÀžFÀžwÀžÉÀžþÀŸÀŸJÀŸSÀŸ‹ÀŸ¥ÀŸÈÀŸæÀ 'À hÀ sÀ {À �À ‚À ËÀ¡À¡3À¡ZÀ¡£À¡³À¢À¢qÀ¢ÈÀ¢îÀ£:À£’À£ÖÀ£ãÀ¤ À¤PÀ¤]À¤rÀ¤±À¤·À¤¸À¤ÖÀ¤ýÀ¥ À¥FÀ¥§À¥ÚÀ¥òÀ¥ùÀ¥ýÀ¥þÀ¦IÀ¦–À¦äÀ§1À§€À§�À§¢À§òÀ¨KÀ¨€À¨ªÀ¨ûÀ©#À©)À©BÀ©FÀ©GÀ©SÀ©›À©çÀ©õÀ©ûÀª ÀªAÀªeÀªiÀªjÀª»ÀªÁÀ«À«UÀ«¤À«¾À«æÀ¬À¬TÀ¬šÀ¬ÃÀ¬ÞÀ¬ïÀ­À­#À­GÀ­ƒÀ­•À­¸À­çÀ® À®UÀ®vÀ®£À®ÅÀ¯À¯XÀ¯›À¯¡À¯ïÀ° À°8À°vÀ°�À°¥À°ÏÀ± À±0À±8À±FÀ±LÀ±MÀ±šÀ±ÖÀ±ÜÀ²%À²_À²eÀ²fÀ²¬À²­À²ïÀ³#À³XÀ³²À³ÀÀ³ÆÀ³ÇÀ´À´SÀ´™À´�À´žÀ´×À´ãÀµ␍Àµ7ÀµnÀµÁÀµÈÀµæÀµùÀµÿÀ¶"À¶LÀ¶uÀ¶{À¶µÀ¶¹À¶ºÀ· À·À·dÀ·„À·�À·«À¸À¸À¸^À¸³À¸ÿÀ¹PÀ¹mÀ¹½Àº ÀºÀº$Àº=ÀºTÀºpÀºÄÀ»À»xÀ»èÀ¼(À¼kÀ¼„À¼âÀ¼èÀ½&À½`À½…À½ŸÀ½ÆÀ¾ À¾NÀ¾[À¾eÀ¾•À¾¶À¾ÈÀ¾ÐÀ¿À¿&À¿JÀ¿SÀ¿�À¿§À¿ËÀ¿ÔÀ¿íÀÀÀÀ{ÀÀ–ÀÀ¥ÀÀõÀÀýÀÁÀÁÀÁ!ÀÁÄÀÁËÀÁìÀÂ+ÀÂhÀÂoÀÂsÀÂtÀÂÂÀÃÀÃÀÃRÀÃxÀÄÀíÀÃÖÀÄ␍ÀÄbÀÄiÀÄ–ÀÄšÀÄ›ÀÄÜÀÅÀÅÀÅoÀÅ¡ÀŦÀÅêÀÆÀÆ\ÀÆjÀÆpÀƾÀÆûÀÇ ÀÇHÀÇZÀǤÀǸÀÇÛÀÈ/ÀÈ<ÀÈJÀÈPÀÈ¥ÀÈøÀÉ:ÀÉnÀÉ€ÀɈÀÉÞÀÉäÀÉèÀÉéÀÊÀÊ'ÀÊjÀÊ¡ÀÊÙÀÊßÀËÀË:ÀË[ÀË_ÀË`ÀË ÀˬÀËÿÀÌWÀÌ^ÀÌ�ÀÌÄÀÍÀÍ[ÀÍ´ÀͺÀÍäÀÎ&ÀÎTÀÎ�ÀÎÑÀÏÀÏCÀÏUÀÏbÀÏ ÀÏÏÀÏâÀÏîÀÏøÀÐÀÐ(ÀÐuÀÐÍÀÑ+ÀÑRÀÑ\ÀÑ—ÀÑ«ÀѵÀÒÀÒ-ÀÒ7ÀÒsÀÒÃÀÓ
ÀÓ ÀÓjÀÓ‚ÀÓ©ÀÔÀÔÀÔ[ÀÔeÀÔ‰ÀÔ˜ÀÔÓÀÕ ÀÕFÀÕPÀÕXÀÕ^ÀÕ‡ÀÕ§ÀÕ«ÀÕ¬ÀÕãÀÖÀÖ!ÀÖfÀÖ�ÀÖ“ÀÖ”ÀÖÐÀ×À×À×bÀ׋À×�À×�ÀרÀ×åÀØ)ÀØ`ÀؘÀØžÀØÁÀØæÀÙÀÙ ÀÙ ÀÙKÀÙXÀÙ²ÀÚÀÚ2ÀÚMÀÚ�ÀÚŸÀÚ÷ÀÚÿÀÛÀÛ`ÀÛ½ÀÛÖÀÜÀÜ_ÀÜyÀÜÊÀÜþÀÝÀÝÀÝAÀ݇ÀÝ¡ÀÝòÀÞ"ÀÞ*ÀÞ0ÀÞGÀÞuÀÞ‚ÀÞ²ÀÞ¸ÀÞËÀÞÏÀÞÐÀßÀßÀß|ÀßÐÀßüÀàUÀà†ÀàËÀáÀá(Àá.Àá‰ÀáæÀâÀâ7ÀâŒÀâ¾ÀâßÀâýÀã1ÀãYÀã¥Àã´ÀãçÀãóÀãýÀä+Àä|ÀäªÀäàÀäþÀå2ÀåZÀå¥Àå´ÀåçÀåóÀåýÀæ*ÀæXÀæ‡Àæ�Àæ¤ÀæÒÀæßÀçÀçÀç(Àç,Àç-ÀçPÀç]Àç«ÀçåÀèÀè@ÀèrÀèxÀè¤ÀèÒÀéÀéÀéÀéÀéUÀéšÀéØÀêÀê9Àê?ÀêuÀê›Àê¼ÀêÖÀëÀë2Àë^Àë­ÀëÒÀëþÀìCÀìlÀì˜ÀìÜÀíÀí2ÀíxÀí§ÀíÓÀî#Àî\Àî‡ÀîâÀïÀïIÀïªÀï°Àï×Àï÷Àð
ÀðÀðÀðÀð.ÀðeÀð§Àð­ÀðÕÀðýÀñÀñÀñÀñeÀñkÀñ¹ÀñúÀòÀòPÀòdÀòqÀò£Àò¤ÀòãÀòéÀó8ÀópÀó}ÀóÜÀôÀôÀôÀôRÀôXÀô©ÀôöÀõHÀõ‘ÀõÉÀõÏÀöÀöoÀö|ÀöÖÀöâÀ÷CÀ÷JÀ÷aÀ÷„À÷¡À÷ùÀø,ÀøƒÀø ÀøÃÀøæÀùÀù$Àù@ÀùhÀùŒÀù³Àù×ÀùóÀú␍Àú<ÀúHÀúrÀú˜Àú´ÀúàÀûÀû ÀûÀûÀû-ÀûPÀûsÀûyÀûŠÀûµÀûÂÀûïÀûõÀüÀüaÀü±ÀüÿÀý*Àý.Àý/Àý}ÀýÃÀýÉÀþÀþaÀþ¡ÀþýÀÿ␍Àÿ Àÿ€Àÿ•Àÿ�ÀÿÿÀÀÀ>À‹ÀÛÀÀfÀ‚ÀÏÀþÀÀYÀÀ­ÀäÀÀMÀ†À¾ÀÀUÀŒÀÅÀæÀÀYÀ‘À³ÀºÀÍÀÿÀOÀsÀÅÀëÀAÀÀ†ÀÏÀóÀúÀÀSÀ“ÀÐÀ $À �À ªÀ ÌÀ òÀ
À
FÀ
iÀ
‹À
¦À
ÕÀ À CÀ VÀ rÀ �À ™À ÀÀ âÀ ýÀ ,À RÀ …À ˜À µÀ ÐÀ ÜÀ äÀ êÀ ûÀ␍&À␍3À␍`À␍fÀ␍†À␍ŸÀ␍£À␍¥À␍¦À␍ðÀ␍þÀKÀLÀ˜ÀµÀ¹ÀÇÀËÀÀ,ÀYÀ±À²ÀîÀòÀ3ÀgÀkÀ«ÀëÀÀ.ÀyÀÀÂÀ ÀPÀ“ÀÜÀèÀéÀ5À;ÀƒÀÊÀÀ]À©ÀèÀõÀ÷ÀøÀHÀtÀxÀÙÀÀgÀ©ÀÙÀÚÀÀPÀQÀ¬ÀÉÀÏÀÀÀkÀlÀ½ÀÕÀÛÀÀ'À`ÀlÀ¬ÀïÀ0À|ÀƒÀµÀÌÀÐÀÒÀÓÀÀRÀVÀ¶ÀÀVÀkÀ¶ÀçÀÀ,À2À3ÀÀ™ÀŸÀûÀUÀ§À¨ÀòÀøÀRÀbÀhÀªÀúÀ UÀ hÀ ¼À ßÀ ãÀ äÀ ðÀ!<À!…À!‰À!‹À!ŒÀ!áÀ"8À"SÀ"WÀ"©À#À#À#UÀ#¨À#öÀ$DÀ$zÀ$~À$’À$éÀ%À% À%uÀ%…À%‰À%�À%âÀ&␍À&À&fÀ&vÀ&zÀ&ˆÀ&ŒÀ&ÜÀ'␍À'<À'šÀ'›À'ÔÀ( À(
À(EÀ(KÀ(|À(’À(“À(ŸÀ(æÀ(èÀ(éÀ)*À)ƒÀ)´À)¹À)ºÀ)ÆÀ)üÀ*"À*eÀ*¦À*¬À*°À*±À*½À*ÐÀ*òÀ+À+ À+ À+À+?À+‘À+•À+—À+˜À+èÀ,
À,_À,ŽÀ,ÏÀ,ÓÀ,ÔÀ-À-À-5À-rÀ-±À-×À.À.À.À.)À.DÀ.aÀ.�À.áÀ/
À/À/À/HÀ/LÀ/MÀ/YÀ/lÀ/«À/ÑÀ/æÀ/êÀ/ëÀ/÷À0,À0-À09À0gÀ0iÀ0jÀ0ÊÀ0ÎÀ1À1kÀ1»À1ÙÀ1ÝÀ2.À2�À2¸À3À3␍À3@À3cÀ3dÀ3ÉÀ3çÀ3éÀ3êÀ49À4FÀ4JÀ4ŠÀ4ÉÀ4ûÀ4üÀ5VÀ5\À5¹À6À69À6UÀ6¬À6­À7
À7?À7@À7šÀ7¦À7¹À8DÀ8KÀ8wÀ8{À8|À8¬À8ËÀ8ÏÀ8ÐÀ8êÀ8öÀ9 À95À9JÀ9NÀ9OÀ9ªÀ9ÇÀ9ÍÀ:À:À:;À:\À:`À:b€­/// @docImport 'package:flutter/material.dart';
/// @docImport 'package:flutter_test/flutter_test.dart';
///
/// @docImport 'editable_text.dart';
/// @docImport 'text.dart';�]�r�‡�±�Ù‚‚+‚S‚†‚�‚²‚Ú‚ïƒ ƒ'ƒ@ƒ`ƒyƒ”ƒ«ƒâ„„„C„a§]§m§t§t §z§ƒ§ƒ§ˆ§ § §¥§´§´A§¹§û§û¨¨¨¨&¨=¨=¨K§Ò§ì§í¦³¦³�¤€›/// Create a new [SelectableRegion] widget.
///
/// The [selectionControls] are used for building the selection handles and
/// toolbar for mobile devices.©Ô¨[��©Ô�I/// The configuration for the magnifier used with selections in this region.
///
/// By default, [SelectableRegion]'s [TextMagnifierConfiguration] is disabled.
/// For a version of [SelectableRegion] that adapts automatically to the
/// current platform, consider [SelectionArea].
///
/// {@macro flutter.widgets.magnifier.intro}ª/©ïIª/,/// {@macro flutter.widgets.Focus.focusNode}ª¸ª=€€ª¸g/// The child widget this selection area applies to.
///
/// {@macro flutter.widgets.ProxyWidget.child}«+ªÂ{«+</// {@macro flutter.widgets.EditableText.contextMenuBuilder}¬E«B�¬E€Ü/// The delegate to build the selection handles and toolbar for mobile
/// devices.
///
/// The [emptyTextSelectionControls] global variable provides a default
/// [TextSelectionControls] implementation with no controls.¬±¬[h¬±-/// Called when the selected content changes.°x°x2°™°°°°"°Ì°Ø°Ø'°ô±±$±"¬È¬È‹Y°YƒK/// Returns the [ContextMenuButtonItem]s representing the buttons in this
/// platform's default selection menu.
///
/// For example, [SelectableRegion] uses this to generate the default buttons
/// for its context menu.
///
/// See also:
///
/// * [SelectableRegionState.contextMenuButtonItems], which gives the
/// [ContextMenuButtonItem]s for a specific SelectableRegion.
/// * [EditableText.getEditableButtonItems], which performs a similar role but
/// for content that is both selectable and editable.
/// * [AdaptiveTextSelectionToolbar], which builds the toolbar itself, and can
/// take a list of [ContextMenuButtonItem]s with
/// [AdaptiveTextSelectionToolbar.buttonItems].
/// * [AdaptiveTextSelectionToolbar.getAdaptiveButtons], which builds the button
/// Widgets for the current platform given [ContextMenuButtonItem]s.¸%¸&¸%¸%K¸G†ˆ†ˆ±ê¦‡Ÿø/// A widget that introduces an area for user selections.
///
/// Flutter widgets are not selectable by default. Wrapping a widget subtree
/// with a [SelectableRegion] widget enables selection within that subtree (for
/// example, [Text] widgets automatically look for selectable regions to enable
/// selection). The wrapped subtree can be selected by users using mouse or
/// touch gestures, e.g. users can select widgets by holding the mouse
/// left-click and dragging across widgets, or they can use long press gestures
/// to select words on touch devices.
///
/// A [SelectableRegion] widget requires configuration; in particular specific
/// [selectionControls] must be provided.
///
/// The [SelectionArea] widget from the [material] library configures a
/// [SelectableRegion] in a platform-specific manner (e.g. using a Material
/// toolbar on Android, a Cupertino toolbar on iOS), and it may therefore be
/// simpler to use that widget rather than using [SelectableRegion] directly.
///
/// ## An overview of the selection system.
///
/// Every [Selectable] under the [SelectableRegion] can be selected. They form a
/// selection tree structure to handle the selection.
///
/// The [SelectableRegion] is a wrapper over [SelectionContainer]. It listens to
/// user gestures and sends corresponding [SelectionEvent]s to the
/// [SelectionContainer] it creates.
///
/// A [SelectionContainer] is a single [Selectable] that handles
/// [SelectionEvent]s on behalf of child [Selectable]s in the subtree. It
/// creates a [SelectionRegistrarScope] with its [SelectionContainer.delegate]
/// to collect child [Selectable]s and sends the [SelectionEvent]s it receives
/// from the parent [SelectionRegistrar] to the appropriate child [Selectable]s.
/// It creates an abstraction for the parent [SelectionRegistrar] as if it is
/// interacting with a single [Selectable].
///
/// The [SelectionContainer] created by [SelectableRegion] is the root node of a
/// selection tree. Each non-leaf node in the tree is a [SelectionContainer],
/// and the leaf node is a leaf widget whose render object implements
/// [Selectable]. They are connected through [SelectionRegistrarScope]s created
/// by [SelectionContainer]s.
///
/// Both [SelectionContainer]s and the leaf [Selectable]s need to register
/// themselves to the [SelectionRegistrar] from the
/// [SelectionContainer.maybeOf] if they want to participate in the
/// selection.
///
/// An example selection tree will look like:
///
/// {@tool snippet}
///
/// ```dart
/// MaterialApp(
/// home: SelectableRegion(
/// selectionControls: materialTextSelectionControls,
/// child: Scaffold(
/// appBar: AppBar(title: const Text('Flutter Code Sample')),
/// body: ListView(
/// children: const <Widget>[
/// Text('Item 0', style: TextStyle(fontSize: 50.0)),
/// Text('Item 1', style: TextStyle(fontSize: 50.0)),
/// ],
/// ),
/// ),
/// ),
/// )
/// ```
/// {@end-tool}
///
///
/// SelectionContainer
/// (SelectableRegion)
/// / \
/// / \
/// / \
/// Selectable \
/// ("Flutter Code Sample") \
/// \
/// SelectionContainer
/// (ListView)
/// / \
/// / \
/// / \
/// Selectable Selectable
/// ("Item 0") ("Item 1")
///
///
/// ## Making a widget selectable
///
/// Some leaf widgets, such as [Text], have all of the selection logic wired up
/// automatically and can be selected as long as they are under a
/// [SelectableRegion].
///
/// To make a custom selectable widget, its render object needs to mix in
/// [Selectable] and implement the required APIs to handle [SelectionEvent]s
/// as well as paint appropriate selection highlights.
///
/// The render object also needs to register itself to a [SelectionRegistrar].
/// For the most cases, one can use [SelectionRegistrant] to auto-register
/// itself with the register returned from [SelectionContainer.maybeOf] as
/// seen in the example below.
///
/// {@tool dartpad}
/// This sample demonstrates how to create an adapter widget that makes any
/// child widget selectable.
///
/// ** See code in examples/api/lib/material/selectable_region/selectable_region.0.dart **
/// {@end-tool}
///
/// ## Complex layout
///
/// By default, the screen order is used as the selection order. If a group of
/// [Selectable]s needs to select differently, consider wrapping them with a
/// [SelectionContainer] to customize its selection behavior.
///
/// {@tool dartpad}
/// This sample demonstrates how to create a [SelectionContainer] that only
/// allows selecting everything or nothing with no partial selection.
///
/// ** See code in examples/api/lib/material/selection_container/selection_container.0.dart **
/// {@end-tool}
///
/// In the case where a group of widgets should be excluded from selection under
/// a [SelectableRegion], consider wrapping that group of widgets using
/// [SelectionContainer.disabled].
///
/// {@tool dartpad}
/// This sample demonstrates how to disable selection for a Text in a Column.
///
/// ** See code in examples/api/lib/material/selection_container/selection_container_disabled.0.dart **
/// {@end-tool}
///
/// To create a separate selection system from its parent selection area,
/// wrap part of the subtree with another [SelectableRegion]. The selection of the
/// child selection area can not extend past its subtree, and the selection of
/// the parent selection area can not extend inside the child selection area.
///
/// ## Selection status
///
/// A [SelectableRegion]s [SelectableRegionSelectionStatus] is used to indicate whether
/// the [SelectableRegion] is actively changing the selection, or has finalized it. For
/// example, during a mouse click + drag, the [SelectableRegionSelectionStatus] will be
/// set to [SelectableRegionSelectionStatus.changing], and when the mouse click is released
/// the status will be set to [SelectableRegionSelectionStatus.finalized].
///
/// The default value of [SelectableRegion]s selection status
/// is [SelectableRegionSelectionStatus.finalized].
///
/// To access the [SelectableRegionSelectionStatus] of a parent [SelectableRegion]
/// use [SelectableRegionSelectionStatusScope.maybeOf] and retrieve the value from
/// the [ValueListenable].
///
/// One can also listen for changes to the [SelectableRegionSelectionStatus] by
/// adding a listener to the [ValueListenable] retrieved from [SelectableRegionSelectionStatusScope.maybeOf]
/// through [ValueListenable.addListener]. In Stateful widgets this is typically
/// done in [State.didChangeDependencies]. Remove the listener when no longer
/// needed, typically in your Stateful widgets [State.dispose] method through
/// [ValueListenable.removeListener].
///
/// ## Tests
///
/// In a test, a region can be selected either by faking drag events (e.g. using
/// [WidgetTester.dragFrom]) or by sending intents to a widget inside the region
/// that has been given a [GlobalKey], e.g.:
///
/// ```dart
/// Actions.invoke(key.currentContext!, const SelectAllTextIntent(SelectionChangedCause.keyboard));
/// ```
///
/// See also:
///
/// * [SelectionArea], which creates a [SelectableRegion] with
/// platform-adaptive selection controls.
/// * [SelectableText], which enables selection on a single run of text.
/// * [SelectionHandler], which contains APIs to handle selection events from the
/// [SelectableRegion].
/// * [Selectable], which provides API to participate in the selection system.
/// * [SelectionRegistrar], which [Selectable] needs to subscribe to receive
/// selection events.
/// * [SelectionContainer], which collects selectable widgets in the subtree
/// and provides api to dispatch selection event to the collected widget.
/// * [SelectionListener], which enables accessing the [SelectionDetails] of
/// the selectable subtree it wraps.€ž¹_À@¦¹I¹^¹J¹P¹V¹]¹W¹x¹e¹z¹Š¹¡¹‹¹›¹ ¹œ¹¿¹¨¹Á¹Ñ¹ì¹Ò¹æ¹ë¹çº)¹óº+º;ºãºCºcºšºdº›ºÜº¥º¾º³ºÀºÏºÐ»ºê»»#»À»+»K»s»L»t»¹»~»—»Œ»™»¨»©»ç»Ç»é»ù¼‹¼¼!¼B¼"¼C¼„¼M¼f¼[¼h¼w¼x¼²¼’¼´¼Ä½`¼Ì¼ñ½¼ò½½Y½½6½+½8½G½H½Ž½g½�½ ¾>½¨½Í½õ½Î½ö¾7¾¾¾¾¾*¾+¾e¾E¾g¾w¿¾¾¤¾Å¾¥¾Æ¿¾Ð¾é¾Þ¾ë¾ú¾û¿B¿¿D¿T¿¿¿\¿„¿²¿…¿³¿¸¿´¿í¿Æ¿ï¿ÿÀ@¡À@À@,À@TÀ@-À@UÀ@šÀ@_À@xÀ@mÀ@zÀ@‰À@й>¹‡Ž¹>ÀAÀAÀ@òÀAÀ@óÀ@ùÀ@ÖÀ@¬hÀ@ÖÀA*ÀA#ÀA*ÀAgÀApÀAqÀAOÀA?3ÀAOÀAœÀA¥ÀA¦ÀA†ÀAv1ÀA†ÀAÏÀAØÀAÙÀA»ÀA«/ÀA»ÀBÀB:ÀB;ÀBÀAÞ^ÀBÀBœÀB�ÀBœÀC]ÀCPÀC]ÀC‚ÀCq%ÀC‚ÀF–ÀF¯ÀF°ÀF€ÀF€¡ÀF€T/// The text processing service used to retrieve the native text processing actions.ÀGFÀGGÀG3ÀGEÀG4ÀGÀF¶€’ÀGF/// The list of native text processing actions provided by the engine.ÀG”ÀG‰ÀG”ÀHËÀHóÀHôÀHõÀHöÀHªÀH!€ÖÀHªW/// Notifies its listeners when the selection state in this [SelectableRegion] changes.ÀY¸ÀY¦ÀY€¨ÀY¦€‡/// Whether the Shift key was pressed when the most recent [PointerDownEvent]
/// was tracked by the [BaseTapAndDragGestureRecognizer].ÀZ'ÀZ%ÀZ'ÀZÂÀZ¯)ÀZÂÀw•Àw�Àw•À´ À´À´ À´¨À´…À´€-À´…À¼WÀ¼OÀ¼WÀ¼çÀ¼ÂÀ¼½/À¼ÂÀÃ:ÀÃ.-ÀÃ:ÀÃkÀÃ_+ÀÃkÀ�À‰À�À ¹À ±&À ¹À(�À(žÀ(¨À)À(®À(×À)À)À)BÀ)HÀ)XÀ)bÀ)]À)YÀ)_À)/À(�€ÆÀ)/ÀB¬ÀB¬€ ÀBµÀC›ÀC›�“ÀDu7/// Whether the native browser context menu is enabled.ÀE»ÀE¼ÀE2ÀE2€ÚÀE怂/// The [SelectionOverlay] that is currently visible on the screen.
///
/// Can be null if there is no visible [SelectionOverlay].ÀG§ÀG§vÀGµÀ´9À´9DÀ´BÀ¼rÀ¼rHÀ¼{ÀÞÀÞƒ§ÀÏ€Ä/// {@macro flutter.widgets.EditableText.getAnchors}
///
/// See also:
///
/// * [contextMenuButtonItems], which provides the [ContextMenuButtonItem]s
/// for the default context menu buttons.À_À_вÀƒe/// Returns the [ContextMenuButtonItem]s representing the buttons in this
/// platform's default selection menu.
///
/// See also:
///
/// * [SelectableRegion.getSelectableButtonItems], which performs a similar role,
/// but for any selectable text, not just specifically SelectableRegion.
/// * [EditableTextState.contextMenuButtonItems], which performs a similar role
/// but for content that is not just selectable but also editable.
/// * [contextMenuAnchors], which provides the anchor points for the default
/// context menu.
/// * [AdaptiveTextSelectionToolbar], which builds the toolbar itself, and can
/// take a list of [ContextMenuButtonItem]s with
/// [AdaptiveTextSelectionToolbar.buttonItems].
/// * [AdaptiveTextSelectionToolbar.getAdaptiveButtons], which builds the
/// button Widgets for the current platform given [ContextMenuButtonItem]s.ÀÀ‚ÕÀ5ÀîÀÀ6:/// The line height at the start of the current selection.À•À•€�ÀÛ8/// The line height at the end of the current selection.À6À6ƒ­À¢L/// Returns the local coordinates of the endpoints of the current selection.À#´À#µÀ#¿À$%À#ÅÀ#îÀ$)À$*À#´À#´€žÀ$>À$VÀ$WÀ$aÀ$ÇÀ$gÀ$�À$ËÀ$ÌÀ$VÀ$V€ À$à>ÀHüÀHýÀI ÀI
ÀHüÀHü‚"ÀIÀK"ÀK"�ÀK¥q/// Query the engine to initialize the list of text processing actions to show
/// in the text selection toolbar.ÀL=ÀL>ÀLJÀLKÀL=ÀL=‚þÀL[ÀOmÀOmÀO~ÀO?ÀO@ÀOLÀOMÀO?ÀO?‚§ÀO]ÀRÀRÀRÀRÀRÀR!ÀQêÀQê€�ÀQôÀR‹ÀR‹„ÀR�ÀV§ÀV§‚ZÀV¬À[À[#À[ÀZÝÀZÝ�‡ÀZéÀ\hÀ\h�3À\mÀ_gÀ_g À_kÀ_BÀ_B‰<À_FÀh‚Àh‚ƒwÀh‡ÀkýÀký€ÙÀlÀlÚÀlÚ:ÀlßÀmÀmŠqÀmÀwÍÀwÍÀwàÀw©Àw©�Àw®À„ÈÀ„ÈÀ„ÜÀ„­À„­‚À„²À†ÒÀ†ÒÀ†çÀ†¶À†¶�nÀ†»À”AÀ”AÀ”SÀ”(À”(„”À”-À˜×À˜×À˜èÀ˜ÀÀ˜À‰mÀ˜ÅÀ¢1À¢1�^À¢6À£³À£³À£ÉÀ£“À£“‚sÀ£˜À¦/À¦/"À¦JÀ¦
À¦
�À¦À§HÀ§HÀ§\À§*À§*�À§/À¨cÀ¨cÀ¨sÀ¨@À¨@�•À¨EÀ©ôÀ©ôÀªÀ©ÙÀ©ÙŠÀ©ÞÀµ÷Àµ÷ ÀÀ´²À´²…|Àµ×�/// Sends end [SelectionEdgeUpdateEvent] to the selectable subtree.
///
/// If the selectable subtree returns a [SelectionResult.pending], this method
/// continues to send [SelectionEdgeUpdateEvent]s every frame until the result
/// is not pending or users end their gestures.ÀºEÀºEÀºTÀº2Àº2��Àº7À»ÓÀ»ÓxÀ»ØÀ¾:À¾: À¾KÀ¼ñÀ¼ñ…’À¾�/// Sends start [SelectionEdgeUpdateEvent] to the selectable subtree.
///
/// If the selectable subtree returns a [SelectionResult.pending], this method
/// continues to send [SelectionEdgeUpdateEvent]s every frame until the result
/// is not pending or users end their gestures.À‡À‡|ÀÂŒÀùÀùÀÃÊÀÃ�ÀÃ�‚NÀÔÀÆ ÀÆ ÀÆÀÅáÀÅáƒÀÅæÀÉÀÉÀÉ$ÀÈëÀÈë‚CÀÈðÀË[ÀË[ÀËmÀË2ÀË2‚öÀË7ÀÎVÀÎVÀÎ]ÀÎxÀÎxÀ·ÀÎ,ÀÎ,ƒJÀÎ:ÀÑzÀÑz…iÀÑÀÖçÀÖç‚€ÀÖìÀÙkÀÙk�›ÀÙñx/// Shows the selection handles.
///
/// Returns true if the handles are shown, false if the handles can't be
/// shown.ÀÜ›ÀÜ›ÀÜ£ÀÛ
ÀÛ
†£ÀÜ��m/// Shows the text selection toolbar.
///
/// If the parameter `location` is set, the toolbar will be shown at the
/// location. Otherwise, the toolbar location will be calculated based on the
/// handles' locations. The `location` is in the coordinates system of the
/// [Overlay].
///
/// Returns true if the toolbar is shown, false if the toolbar can't be shown.ÀçÔÀçÔÀçäÀçðÀçðÀçõÀè␍Àè␍ ÀèÀèÀá±À᱇åÀçÁ…Î/// Sets or updates selection end edge to the `offset` location.
///
/// A selection always contains a select start edge and selection end edge.
/// They can be created by calling both [_selectStartTo] and [_selectEndTo], or
/// use other selection APIs, such as [_selectWordAt] or [selectAll].
///
/// This method sets or updates the selection end edge by sending
/// [SelectionEdgeUpdateEvent]s to the child [Selectable]s.
///
/// If `continuous` is set to true and the update causes scrolling, the
/// method will continue sending the same [SelectionEdgeUpdateEvent]s to the
/// child [Selectable]s every frame until the scrolling finishes or a
/// [_finalizeSelection] is called.
///
/// The `continuous` argument defaults to false.
///
/// The `offset` is in global coordinates.
///
/// Provide the `textGranularity` if the selection should not move by the default
/// [TextGranularity.character]. Only [TextGranularity.character] and
/// [TextGranularity.word] are currently supported.
///
/// See also:
/// * [_selectStartTo], which sets or updates selection start edge.
/// * [_finalizeSelection], which stops the `continuous` updates.
/// * [clearSelection], which clears the ongoing selection.
/// * [_selectWordAt], which selects a whole word at the location.
/// * [_selectParagraphAt], which selects an entire paragraph at the location.
/// * [_collapseSelectionAt], which collapses the selection at the location.
/// * [selectAll], which selects the entire content.Àï¿Àï¿ÀïÏÀïÛÀïÛÀïàÀïøÀïø Àð ÀïíÀéšÀ隇ïÀ徭Î/// Sets or updates selection start edge to the `offset` location.
///
/// A selection always contains a select start edge and selection end edge.
/// They can be created by calling both [_selectStartTo] and [_selectEndTo], or
/// use other selection APIs, such as [_selectWordAt] or [selectAll].
///
/// This method sets or updates the selection start edge by sending
/// [SelectionEdgeUpdateEvent]s to the child [Selectable]s.
///
/// If `continuous` is set to true and the update causes scrolling, the
/// method will continue sending the same [SelectionEdgeUpdateEvent]s to the
/// child [Selectable]s every frame until the scrolling finishes or a
/// [_finalizeSelection] is called.
///
/// The `continuous` argument defaults to false.
///
/// The `offset` is in global coordinates.
///
/// Provide the `textGranularity` if the selection should not move by the default
/// [TextGranularity.character]. Only [TextGranularity.character] and
/// [TextGranularity.word] are currently supported.
///
/// See also:
/// * [_selectEndTo], which sets or updates selection end edge.
/// * [_finalizeSelection], which stops the `continuous` updates.
/// * [clearSelection], which clears the ongoing selection.
/// * [_selectWordAt], which selects a whole word at the location.
/// * [_selectParagraphAt], which selects an entire paragraph at the location.
/// * [_collapseSelectionAt], which collapses the selection at the location.
/// * [selectAll], which selects the entire content.Àô␍Àô␍ÀôÀñ�Àñ�ƒ+Àó÷‚L/// Collapses the selection at the given `offset` location.
///
/// The `offset` is in global coordinates.
///
/// See also:
/// * [_selectStartTo], which sets or updates selection start edge.
/// * [_selectEndTo], which sets or updates selection end edge.
/// * [_finalizeSelection], which stops the `continuous` updates.
/// * [clearSelection], which clears the ongoing selection.
/// * [_selectWordAt], which selects a whole word at the location.
/// * [_selectParagraphAt], which selects an entire paragraph at the location.
/// * [selectAll], which selects the entire content.ÀøŸÀøŸÀø¯Àô¼Àô¼„£Àø�ƒ¨/// Selects a whole word at the `offset` location.
///
/// The `offset` is in global coordinates.
///
/// If the whole word is already in the current selection, selection won't
/// change. One call [clearSelection] first if the selection needs to be
/// updated even if the word is already covered by the current selection.
///
/// One can also use [_selectEndTo] or [_selectStartTo] to adjust the selection
/// edges after calling this method.
///
/// See also:
/// * [_selectStartTo], which sets or updates selection start edge.
/// * [_selectEndTo], which sets or updates selection end edge.
/// * [_finalizeSelection], which stops the `continuous` updates.
/// * [clearSelection], which clears the ongoing selection.
/// * [_collapseSelectionAt], which collapses the selection at the location.
/// * [_selectParagraphAt], which selects an entire paragraph at the location.
/// * [selectAll], which selects the entire content.ÀüúÀüúÀý
ÀùcÀùc„\ÀüæƒY/// Selects the entire paragraph at the `offset` location.
///
/// The `offset` is in global coordinates.
///
/// If the paragraph is already in the current selection, selection won't
/// change. One call [clearSelection] first if the selection needs to be
/// updated even if the paragraph is already covered by the current selection.
///
/// One can also use [_selectEndTo] or [_selectStartTo] to adjust the selection
/// edges after calling this method.
///
/// See also:
/// * [_selectStartTo], which sets or updates selection start edge.
/// * [_selectEndTo], which sets or updates selection end edge.
/// * [_finalizeSelection], which stops the `continuous` updates.
/// * [clearSelection], which clear the ongoing selection.
/// * [_selectWordAt], which selects a whole word at the location.
/// * [selectAll], which selects the entire content.ÀýÃÀýÂ&Àÿ‡�¬/// Stops any ongoing selection updates.
///
/// This method is different from [clearSelection] that it does not remove
/// the current selection. It only stops the continuous updates.
///
/// A continuous update can happen as result of calling [_selectStartTo] or
/// [_selectEndTo] with `continuous` sets to true which causes a [Selectable]
/// to scroll. Calling this method will stop the update as well as the
/// scrolling.ÀÿíÀÿí�0À3>/// Removes the ongoing selection for this [SelectableRegion].À!À!€ÓÀ.ÀøÀø€âÀÀÐÀÐ ÀÕÀ©À©‚ÍÀ®À šÀ šÀ ªÀ ·À · À ¼À zÀ z‚3À À ÿÀ ÿ À À ÜÀ Ü„VÀ áÀ%À%À%À$úÀ$ûÀ%+À$úÀ$ú€¨À% À%ÂÀ%ÂÀ%ÙÀ%¦À%§À%¦À%¦� À%·À'ÞÀ'ÞÀ'ôÀ'JÀ'KÀ'UÀ'»À'[À'„À'¿À'ÀÀ'JÀ'J�OÀ'ÐÀ)üÀ)üÀ* À)hÀ)iÀ)sÀ)ÙÀ)yÀ)¢À)ÝÀ)ÞÀ)hÀ)h€êÀ)îÀ*éÀ*éÀ*ÿÀ*VÀ*WÀ*aÀ*ÇÀ*gÀ*�À*ËÀ*ÌÀ*VÀ*V€ÈÀ*ÜÀ+ÃÀ+ÃÀ+ÔÀ+ÛÀ+ÛÀ+ñÀ+"À+#À+-À+“À+3À+\À+—À+˜À+"À+"�À+¨À,ÌÀ,ÌÀ,âÀ,4À,5À,?À,¥À,EÀ,nÀ,©À,ªÀ,4À,4€ÓÀ,ÂÀ-EÀ-EÀ-PÀ-0À-1À-0À-0€õÀ-AÀ.AÀ.AÀ.LÀ.)À.*À.)À.)€ÛÀ.:À/À/ À/À/À/À/‚yÀ/&À1«À1«À1¸À1…À1†À1’À1“À1…À1……~À1¥¸t¸tÀþ‘¸ž#/// State for a [SelectableRegion].À8.À8.À8.À8rÀ8rÀ8tÀ8}À8}À8‹À8]À8]8À8eÀ8´À8´À8¶À8¿À8¿À8ÍÀ8™À8šÀ8™À8™€ÀÀ8­À7À7‚TÀ8�/// An action that does not override any [Action.overridable] in the subtree.
///
/// If this action is invoked by an [Action.overridable], it will immediately
/// invoke the [Action.overridable] and do nothing else. Otherwise, it will call
/// [invokeAction].À9¨À9¸À9¹À9¹
À9¾À9¨À9¨À9åÀ9É!À9åÀ:␍À:␍À:!À:*À:*À:8À9ïÀ9ðÀ9ïÀ9ï€�À:À9]À9]�!À9cÀ:ÓÀ:çÀ:èÀ:è
À:íÀ:ÓÀ:Ó!À;À:ø!À;À;<À;<À;TÀ;]À;]À;kÀ;À;À;À;oÀ;/À:€À:€�À:†À<À<&À<'À<'
À<,À<4À<4À<BÀ<À<JÀ;¸À;¸&À;¸À<pÀ<T!À<pÀ<�À<y!À<�À<½À<½À<¿À<ÈÀ<ÈÀ<ÖÀ<ŸÀ< À<ŸÀ<Ÿ€‰À<°À;‘À;‘�™À;—À=¨À=ÍÀ=ÎÀ=Î
À=ÓÀ=ÛÀ=ÛÀ=éÀ=¨À=¨OÀ=XÀ=X(À=XÀ>À=û!À>À>6À> !À>6À>dÀ>dÀ>fÀ>oÀ>oÀ>}À>FÀ>GÀ>FÀ>F€÷À>WÀ=,À=,‚À=2À?ÀÀ?èÀ?éÀ?é
À?îÀ?ÀÀ?À5À?pÀ?p(À?pÀ@À?ù!À@À@=À@=À@?À@HÀ@HÀ@VÀ@À@ À@À@€íÀ@0À?AÀ?A�ÍÀ?GÀFïÀFðÀFãÀFîÀFäÀFÊÀFt}ÀFÊ=/// The set of [Selectable]s that have received start events.ÀGmÀGnÀGaÀGlÀGbÀGJÀFöyÀGJ;/// The set of [Selectable]s that have received end events.ÀG¿ÀGtmÀG¿@/// The global position of the last selection start edge update.ÀH/ÀGæiÀH/>/// The global position of the last selection end edge update.ÀKOÀKOÀKcÀKoÀKo ÀKuÀK ÀK!ÀHTÀHT„;ÀK2‚¯/// Tracks whether a selection edge update event for a given [Selectable] was received.
///
/// When `forEnd` is true, the [Selectable] will be registered as having received
/// an end event. When false, the [Selectable] is registered as having received
/// a start event.
///
/// When `forEnd` is null, the [Selectable] will be registered as having received both
/// start and end events.
///
/// Call this method when a [SelectionEvent] is dispatched to a child selectable managed
/// by this delegate.
///
/// Subclasses should call [clearInternalSelectionStateForSelectable] to clean up any state
/// added by this method, for example when removing a [Selectable] from this delegate.ÀO,ÀO-ÀL“ÀL“„ŽÀO>‚‚/// Updates the internal selection state after a [SelectionEvent] that
/// selects a boundary such as: [SelectWordSelectionEvent],
/// [SelectParagraphSelectionEvent], and [SelectAllSelectionEvent].
///
/// Call this method after determining the new selection as a result of
/// a [SelectionEvent] that selects a boundary. The [currentSelectionStartIndex]
/// and [currentSelectionEndIndex] should be set to valid values at the time
/// this method is called.
///
/// Subclasses should call [clearInternalSelectionStateForSelectable] to clean up any state
/// added by this method, for example when removing a [Selectable] from this delegate.ÀQãÀQã+ÀQóÀRÀRÀR"ÀQ«ÀQ¬ÀQ%ÀQ%�ÂÀQ½€�/// Updates the last selection edge location of the edge specified by `forEnd`
/// to the provided `globalSelectionEdgeLocation`.ÀRëÀRë…ÀSp{/// Updates the last selection edge locations of both start and end selection
/// edges based on their [SelectionGeometry].ÀYÀYÀXÀX�ÎÀY€ï/// Clears the internal selection state.
///
/// This indicates that no [Selectable] child under this delegate
/// has received start or end events, and resets any tracked global
/// locations for start and end [SelectionEdgeUpdateEvent]s.À[lÀ[lÀ[wÀ[1À[2ÀYØÀYØ‚ À[C�J/// Clears the internal selection state for a given [Selectable].
///
/// This indicates that the given `selectable` has neither received a
/// start or end [SelectionEdgeUpdateEvent]s.
///
/// Subclasses should call this method to clean up state added in
/// [didReceiveSelectionEventFor] and [didReceiveSelectionBoundaryEvents].À\À\À\ À[èÀ[éÀ[èÀ[而À[ùÀ\¤À\¤À\¼À\xÀ\yÀ\xÀ\x€ÍÀ\”À]vÀ]vÀ]�À]IÀ]JÀ]IÀ]I€ÐÀ]eÀ^OÀ^O#À^mÀ^À^À^À^€ßÀ^9À_1À_1À_EÀ_À_À_À_€ÍÀ_À`À`À` À_ÑÀ_ÒÀ_ÑÀ_Ñ�1À_íÀaÀaÀaÀaXÀaÀaœÀaœÀa§Àa³Àa³ÀaÂÀabÀacÀabÀabƒàÀa~ÀgˆÀgˆÀg“ÀgdÀgeÀeFÀeF…|Àgu‚ /// Ensures the `selectable` child has received the most up to date selection events.
///
/// This method is called when:
/// 1. A new [Selectable] is added to the delegate, and its screen location
/// falls into the previous selection.
/// 2. Before a [SelectionEvent] of type
/// [SelectionEventType.startEdgeUpdate], [SelectionEventType.endEdgeUpdate],
/// [SelectionEventType.granularlyExtendSelection], or
/// [SelectionEventType.directionallyExtendSelection] is dispatched
/// to a [Selectable] child.ÀjÆÀjÇÀjÆÀjÆ‚üÀj×ÀAÀA¬´ÀF…/// A delegate that manages updating multiple [Selectable] children where the
/// [Selectable]s do not change or move around frequently.
///
/// This delegate keeps track of the [Selectable]s that received start or end
/// [SelectionEvent]s and the global locations of those events to accurately
/// synthesize [SelectionEvent]s for children [Selectable]s when needed.
///
/// When a new [SelectionEdgeUpdateEvent] is dispatched to a [Selectable], this
/// delegate checks whether the [Selectable] has already received a selection
/// update for each edge that currently exists, and synthesizes an event for the
/// edges that have not yet received an update. This synthesized event is dispatched
/// before dispatching the new event.
///
/// For example, if we have an existing start edge for this delegate and a [Selectable]
/// child receives an end [SelectionEdgeUpdateEvent] and the child hasn't received a start
/// [SelectionEdgeUpdateEvent], we synthesize a start [SelectionEdgeUpdateEvent] for the
/// child [Selectable] and dispatch it before dispatching the original end [SelectionEdgeUpdateEvent].
///
/// See also:
///
/// * [MultiSelectableSelectionContainerDelegate], for the class that provides
/// the main implementation details of this [SelectionContainerDelegate].ÀoÂÀoëÀoxÀox€åG/// Creates an instance of [MultiSelectableSelectionContainerDelegate].ÀpÌÀpÍÀpÀÀpËÀpÁÀp²ÀpamÀp²=/// Gets the list of [Selectable]s this delegate is managing.ÀröÀrÏÀpÓ‚&ÀrÏ�Ñ/// The number of additional pixels added to the selection handle drawable
/// area.
///
/// Selection handles that are outside of the drawable area will be hidden.
/// That logic prevents handles that get scrolled off the viewport from being
/// drawn on the screen.
///
/// The drawable area = current rectangle of [SelectionContainer] +
/// _kSelectionHandleDrawableAreaPadding on each side.
///
/// This was an eyeballed value to create smooth user experiences.ÀsCÀsDÀsoÀspÀsTÀrþsÀsTB/// The current [Selectable] that contains the selection end edge.Às½Às¾ÀsëÀsìÀsÎÀsvwÀsÎD/// The current [Selectable] that contains the selection start edge.ÀsýÀsòÀsýÀtÀt"ÀtÀtCÀt8ÀtCÀtbÀtV ÀtbÀtœÀt€Àt{&Àt€ÀtÇÀtªÀt¥'ÀtªÀtìÀtÕÀtÐ!ÀtÕÀuÀuÀuÀuÀuÀuÀtõ+ÀuÀuGÀu*Àu%'Àu* Àˆ‹Àˆ‘Àˆ¢ÀˆßÀˆ²Àˆ¨Àˆ´ÀˆÅÀˆ¿ÀˆÇÀˆÖÀˆ×ÀˆvÀˆd|ÀˆvÀˆ#Àˆ$Àˆ#Àˆ#>ÀˆEÀ‹ÜÀ‹ÝÀ‹JÀ‹J€ÞÀŒ€‰/// The compare function this delegate used for determining the selection
/// order of the selectables.
///
/// Defaults to screen order.À·†À·‡À¶¼À¶¼�RÀ·š€Á/// The total length of the content under this [SelectionContainerDelegate].
///
/// This value is derived from the [Selectable.contentLength] of each [Selectable]
/// managed by this delegate.$ÀufÀufÀuqÀuQÀuRÀuQÀuQ€¡ÀubÀvÀvÀvÀuöÀu÷ÀuöÀuö�ÀvÀwyÀwy€ƒÀwÅD/// Notifies this delegate that layout of the container has changed.ÀxÀxƒ¨ÀxÀ{¬À{¬€ŸÀ{±À|OÀ|O‰KÀ|TÀ…µÀ…µÀ…ÀÀ…žÀ…ž�ÙÀ…£À‡ÀÀ‡ÁÀ‡ÍÀ‡ÎÀ‡{À‡{€¤À‡ãB/// Called when this delegate finishes updating the [Selectable]s.ÀˆåÀˆå�CÀ‰7J/// Updates the [value] in this class and notifies listeners if necessary.ÀŠHÀŠHÀŠSÀŠ,ÀŠ,�ÀŠ8ÀŒKÀŒK ÀŒVÀŒYÀŒY ÀŒdÀŒ,ÀŒ,�–ÀŒ7ÀŽÒÀŽÒÀŽ×ÀŽÚÀŽÚÀŽßÀ�ÆÀ�ƃ8ÀŽ¿€ã/// Compares two rectangles in the screen order solely by their vertical
/// positions.
///
/// Returns positive if a is lower, negative if a is higher, 0 if their
/// order can't be determine solely by their vertical position.À‘ÿÀ‘ÿÀ’À’À’À’ À‘À‘‚ÄÀ‘ê€Ô/// Compares two rectangles in the screen order by their horizontal positions
/// assuming one of the rectangles enclose the other rect vertically.
///
/// Returns positive if a is lower, negative if a is higher.À“ÊÀ“Ê�nÀ“ÏÀ•�À•‚À•<À•<�ÀÀ• B/// Gets the combined [SelectionGeometry] for child [Selectable]s.À¨&À¨&À¨*À¨8À¨8À¨<À§ôÀ§ô�QÀ§øÀ©kÀ©kÀ©vÀ©ƒÀ©ƒÀ©ŽÀ©IÀ©JÀ©IÀ©I�À©ZÀªlÀªlŠ0À«Å�G/// Pushes both handle layers to the selectables that contain selection edges.
///
/// This method needs to be called every time the selectables that contain the
/// selection edges change, i.e. [currentSelectionStartIndex] or
/// [currentSelectionEndIndex] changes. Otherwise, the handle may be painted
/// in the wrong place.À´ÙÀ´ÚÀ´ À´ ‚À´ö6/// Copies the selected contents of all [Selectable]s.À¹šÀ¹šÀ¹¯À¸À¸Š`À¹…�R/// This method calculates a local [SelectedContentRange] based on the list
/// of [selections] that are accumulated from the [Selectable] children under this
/// delegate. This calculation takes into account the accumulated content
/// length before the active selection, and returns null when either selection
/// edge has not been set.ÀÃzÀÃ{ÀÂvÀÂv‚#ÀÜ€ù/// Returns a [SelectedContentRange] considering the [SelectedContentRange]
/// from each [Selectable] child managed under this delegate.
///
/// When nothing is selected or either selection edge has not been set,
/// this method will return `null`.ÀÅìÀÅìƒûÀÅñÀÊIÀÊIÀÊaÀÊÀÊÀÉëÀÉë�sÀÊ9./// Selects all contents of all [Selectable]s.ÀˈÀˈÀË—ÀËbÀËbŠHÀËrÀÖDÀÖDÀÖ]ÀÖÀÖÀÕ®ÀÕ®€äÀÖ3c/// Selects a word in a [Selectable] at the location
/// [SelectWordSelectionEvent.globalPosition].À×;À×;#À×YÀ×À× ÀÖ–ÀÖ–€øÀ×%m/// Selects a paragraph in a [Selectable] at the location
/// [SelectParagraphSelectionEvent.globalPosition].ÀØ ÀØ ÀØ À×ÚÀ×ÛÀ×’À×’�xÀ×÷E/// Removes the selection of all [Selectable]s this delegate manages.ÀÙŠÀÙŠ$ÀÙ©ÀÙMÀÙNÀÙÀÙ…ÀÀÙj</// Extend current selection in a certain [TextGranularity].ÀßQÀßQ'ÀßsÀßÀßÀÞÒÀÞÒˆYÀß.</// Extend current selection in a certain [TextGranularity].Àç‰Àç‰Àç¢ÀçRÀçSÀç/Àç/�×Àço /// Updates the selection edges.Àé=Àé=ÀéLÀé
Àé Àé
Àé
‡Àé&ÀðÀðÀðÀð�Àð"Àò‹Àò‹Àò–ÀòfÀògÀñÀñ�‰Àòx�>/// Ensures the [Selectable] child has received up to date selection event.
///
/// This method is called when a new [Selectable] is added to the delegate,
/// and its screen location falls into the previous selection.
///
/// Subclasses are responsible for updating the selection of this newly added
/// [Selectable].Àó­Àó­Àó¸ÀóÄÀóÄÀóÓÀórÀósÀò¦Àò¦�nÀó�€Ã/// Dispatches a selection event to a specific [Selectable].
///
/// Override this method if subclasses need to generate additional events or
/// treatments prior to sending the [SelectionEvent].Àö�Àö�Àö¶Àö¾Àö¾ÀöÌÀôÀô‰ÀöŽ‚O/// Initializes the selection of the selectable children.
///
/// The goal is to find the selectable child that contains the selection edge.
/// Returns [SelectionResult.end] if the selection edge ends on any of the
/// children. Otherwise, it returns [SelectionResult.previous] if the selection
/// does not reach any of its children. Returns [SelectionResult.next]
/// if the selection reaches the end of its children.
///
/// Ideally, this method should only be called twice at the beginning of the
/// drag selection, once for start edge update event, once for end edge update
/// event.ÀþÄÀþÄÀþÝÀþåÀþåÀþóÀý1Àý1�qÀþ³�e/// Adjusts the selection based on the drag selection update event if there
/// is already a selectable child that contains the selection edge.
///
/// This method starts by sending the selection event to the current
/// selectable that contains the selection edge, and finds forward or backward
/// if that selectable no longer contains the selection edge.ÀmÆÀmÆÀŸÞÀo�9/// A delegate that handles events and updates for multiple [Selectable]
/// children.
///
/// Updates are optimized by tracking which [Selectable]s reside on the edges of
/// a selection. Subclasses should implement [ensureChildUpdated] to describe
/// how a [Selectable] should behave when added to a selection.À«ÀÓÀÕÀ«À«-ÀÔÀ%ÀDÀEÀüÀÜrÀüÀÀÀSÀS�À@€´/// The current value of the [SelectableRegionSelectionStatus] of the [SelectableRegion]
/// that owns this object.
///
/// Defaults to [SelectableRegionSelectionStatus.finalized].À3À3)ÀSÀÀÀnÀn‚aÀ-€¥/// Sets the [SelectableRegionSelectionStatus] for the [SelectableRegion] that
/// owns this object.
///
/// Listeners are notified even if the value did not change.ÀøÀø…ÙÀ'�"/// Notifies its listeners when the [SelectableRegion] that created this object
/// is changing or finalizes its selection.
///
/// To access the [_SelectableRegionSelectionStatusNotifier] from the nearest [SelectableRegion]
/// ancestor, use [SelectableRegionSelectionStatusScope.maybeOf].À¾ÀâÀäÀëÀë%ÀùÀÀÀ%À¸À¸yÀãÀŽÀ5�pÀŽ�/// Tracks updates to the [SelectableRegionSelectionStatus] of the owning
/// [SelectableRegion].
///
/// Listeners will be called even when the value of the [SelectableRegionSelectionStatus]
/// does not change. The selection under the [SelectableRegion] still may have changed.À =À =À JÀªÀª‚8À 5�C/// The closest instance of this class that encloses the given context.
///
/// If there is no enclosing [SelectableRegion] or [SelectionArea] widget, then null is
/// returned.
///
/// Calling this method will create a dependency on the closest
/// [SelectableRegionSelectionStatusScope] in the [context], if there is one.À!
À!
.À!/À æÀ çÀ æÀ 怢À ÷ÀÓÀÓ†·Àw�—/// Notifies its listeners when the selection under a [SelectableRegion] or
/// [SelectionArea] is being changed or finalized.
///
/// Use [SelectableRegionSelectionStatusScope.maybeOf], to access the [ValueListenable] of type
/// [SelectableRegionSelectionStatus] under a [SelectableRegion]. Its listeners
/// will be called even when the value of the [SelectableRegionSelectionStatus]
/// does not change.À'DÀ'UÀ'WÀ'W À']À'bÀ'bÀ'pÀ'ƒÀ'ƒÀ'‘À'À'€Š,/// Create a new [SelectionListener] widget.À'öÀ'�jÀ'ö6/// Notifies listeners when the selection has changed.À(‹À( €„À(‹k/// The child widget this selection listener applies to.
///
/// {@macro flutter.widgets.ProxyWidget.child}À(•À(–À(•À(•PÀ(ºÀ!ŒÀ!Œ‡[À&â…O/// A [SelectionContainer] that allows the user to access the [SelectionDetails] and
/// listen to selection changes for the child subtree it wraps under a [SelectionArea]
/// or [SelectableRegion].
///
/// The selection updates are provided through the [selectionNotifier], to listen
/// to these updates attach a listener through [SelectionListenerNotifier.addListener].
///
/// This widget does not listen to selection changes of nested [SelectionArea]s
/// or [SelectableRegion]s in its subtree because those widgets are self-contained
/// and do not bubble up their selection. To listen to selection changes of a
/// [SelectionArea] or [SelectableRegion] under this [SelectionListener], add
/// an additional [SelectionListener] under each one.
///
/// {@tool dartpad}
/// This example shows how to use [SelectionListener] to access the [SelectionDetails]
/// under a [SelectionArea] or [SelectableRegion].
///
/// ** See code in examples/api/lib/material/selection_area/selection_area.1.dart **
/// {@end-tool}
///
/// {@tool dartpad}
/// This example shows how to color the active selection red under a
/// [SelectionArea] or [SelectableRegion].
///
/// ** See code in examples/api/lib/material/selection_area/selection_area.2.dart **
/// {@end-tool}
///
/// See also:
///
/// * [SelectableRegion], which provides an overview of the selection system.À)gÀ)�À)¶À)˜À)‡À)šÀ) À)¡À)RÀ),€‹À)RÀ)ÝÀ)ÝÀ)ïÀ)¼À)½À)¼À)¼€óÀ)ÍÀ*³À*´À*³À*³WÀ*ÄÀ+'À+'À+4À+À+À+À+€†À+!À(éÀ(é‚­À(ïÀ, À,&À,(À,(4À,KÀ,xÀ,eÀ,zÀ, À, €ÆÀ,éÀ,Ö,À,éÀ-!À-,À-!À/íÀ/îÀ/íÀ/í>À0À0/À00À0/À0/7À0OÀ-IÀ-I%À-cÀ-7À-7€äÀ-<À.À. À.À.�,À.0À/OÀ/PÀ/OÀ/O€šÀ/`À+˜À+˜„ÐÀ+¤À2ºÀ2º€¨À3\€�/// The computed selection range of the owning [SelectionListener]s subtree.
///
/// Returns `null` if there is nothing selected.À3fÀ3f€€À3ßb/// The status that indicates whether there is a selection and whether the selection is collapsed.À0jÀ0jƒ~À2¥‚%/// A read-only interface for accessing the details of a selection under a [SelectionListener].
///
/// This includes information such as the status of the selection indicating
/// if it is collapsed or uncollapsed, the [SelectedContentRange] that includes
/// the start and end offsets of the selection local to the [SelectionListener]
/// that reports this object.
///
/// This object is typically accessed by providing a [SelectionListenerNotifier]
/// to a [SelectionListener] and retrieving the value from [SelectionListenerNotifier.selection].À4çÀ4Ë.À4çÀ4þÀ4þ�­À6,�/// The details of the selection under the [SelectionListener] that owns this notifier.
///
/// Throws an exception if this notifier has not been registered to a [SelectionListener].
/// To check if a notifier has been registered to a [SelectionListener] use [registered].À6¯À6¯€�À7Z/// Whether this [SelectionListenerNotifier] has been registered to a [SelectionListener].À7jÀ7j,À7…À7BÀ7B�8À7GÀ8~À8~PÀ8ƒÀ8ìÀ8íÀ8ìÀ8ìaÀ8ýÀ:"À:"À:/À:À:À9QÀ9Q�À:€«/// Calls the listener every time the [SelectionGeometry] of the selection changes under
/// a [SelectionListener].
///
/// Listeners can be removed with [removeListener].À3êÀ3ê†wÀ4–€Ÿ/// Notifies listeners when the selection under a [SelectionListener] has been
/// changed.
///
/// This object is typically provided to a [SelectionListener].À0À0�ÀÞ�Ÿ/// Indicates that the selection under a [SelectableRegion] is changing.
///
/// A [SelectableRegion]s selection is changing when it is being
/// updated by user through selection gestures and keyboard shortcuts.
/// For example, during a text selection drag with a click + drag,
/// a [SelectableRegion]s selection is considered changing until
/// the user releases the click, then it will be considered finalized.ÀëÀë‚Àê�î/// Indicates that the selection under a [SelectableRegion] is finalized.
///
/// A [SelectableRegion]s selection is finalized when it is no longer
/// being updated by the user through selection gestures or keyboard
/// shortcuts. For example, the selection will be finalized on a mouse
/// drag end, touch long press drag end, a single click to collapse the
/// selection, a double click/tap to select a word, ctrl + A / cmd + A to
/// select all, or a triple click/tap to select a paragraph.À²À²…DÀ �T/// The status of the selection under a [SelectableRegion].
///
/// This value can be accessed for a [SelectableRegion] by using
/// [SelectableRegionSelectionStatusScope.maybeOf].
///
/// This value under a [SelectableRegion] is updated frequently
/// during selection gestures such as clicks and taps to select
/// and keyboard shortcuts.……k„û…␍„ü……#…$…-…>…?…I…Z…[„Ý„À€¬„݆‚†Y†L9†YÀ␍¦À␍¦€¤ÀW/// The length of the content that can be selected, and the range that is
/// selected.ÀLÀL�dÀ4€ß/// Signature for a widget builder that builds a context menu for the given
/// [SelectableRegionState].
///
/// See also:
///
/// * [EditableTextContextMenuBuilder], which performs the same role for
/// [EditableText].€®package:flutter/material.dart€Þ&package:flutter_test/flutter_test.dart�editable_text.dart�@ text.dartŽM<€†€¤€¥€Õ���7�S�\�]�r�†�‡�±�Ù‚‚+‚S‚…‚†‚�‚²‚Ú‚ïƒ ƒ'ƒ@ƒ`ƒyƒ”ƒ«ƒâ„„„C„a„�„�„¨„¿„À……+…G…k…n…o…½† †L†‡†ˆ†Â†Æ‡‡c‡³‡ÿˆFˆ–ˆ¼ˆÀ‰‰9‰=‰…‰ÑŠŠlŠpŠœŠ Šñ‹'‹+‹|‹¿‹ä‹èŒ)ŒsŒÂ��b�°�Ü�àŽ1ŽŽÅ��3�7�‚��ú� �␍�;�?�S�W�c�t�’�Ì�å‘)‘C‘i‘©‘鑸’’’’’'’7’;’?’d’‰’ª’Ì’ï““8“^“Ž“º“å””>”s”©”­”±”Ӕו'•i•�•…•Ï––S–W–¦–ñ—<—[—_—s—¿—Ü—à˜;˜K˜O˜e˜i˜¸™™C™G™[™§™í™ñšPš`šdšµšý› ›$›8›†›Š›òœœœPœ£œò�@�D�\�`�¸žžhžÄŸŸŸQŸ…Ÿ‰ŸÜ / J N ž¡ ¡\¡ª¡ø¢¢"¢/¢3¢„¢Õ££££v£~£‚£�£”£Ô¤¤K¤ž¤¹¥ ¥W¥p¥¾¦ ¦Y¦�¦±¦ß¦å§3§U§p§§œ§°§÷¨¨9¨R¨X¨Y¨¨¨®¨ÿ©J©|©‚©±©ì©íªª:ª;ªrªxª©ª¿ªÀªÿ«?«@«‰«˜«ž«è¬'¬X¬Y¬‰¬Å¬Æ­­;­A­‘­­­³­Ã­É®®S®¤®Þ¯/¯d¯˜¯ë°4°t°¬°Ô±±+±2±±»±ð²²%²N²«²Í²ñ³³>³�³æ´´Y´€´‹´Ê´Ëµµfµgµ¸µþ¶¶5¶”¶Ä··2·�·Á¸¸¸"¸#¸/¸q¸s¸t¸˜¸Ô¸ó¹¹a¹¤¹ïº=º�º«ºÖºßºæ»%»v»„»³»¼»Ã»û¼E¼S¼~¼‡¼Ž¼Æ½½#½S½\½c½¢½ø¾¾1¾:¾A¾y¾È¾Ö¿¿
¿¿V¿»¿ÂÀ@À@WÀ@eÀ@”À@�À@¤À@©À@ªÀ@ìÀAÀA=ÀAtÀA©ÀAÜÀB>ÀBŽÀB©ÀBªÀBÕÀCÀCMÀCNÀCoÀC˜ÀC™ÀCÓÀDÀDXÀDjÀD�ÀDŸÀDÃÀDüÀE/ÀE0ÀEvÀE|ÀE¹ÀEÎÀF␍ÀFÀFeÀF³ÀF´ÀFýÀGJÀGKÀG‡ÀG¥ÀGÃÀHÀHÀHyÀHÅÀHùÀHúÀIÀIÀI(ÀI?ÀIpÀI“ÀI¶ÀIËÀIûÀJ?ÀJwÀJ£ÀJäÀJñÀJüÀKÀKÀK ÀKqÀK–ÀKÇÀKèÀL6ÀL:ÀL;ÀLHÀLTÀLuÀL˜ÀL½ÀLàÀLÿÀMÀM1ÀMRÀMsÀM–ÀM¦ÀM¬ÀM­ÀMøÀN?ÀNcÀN‰ÀN—ÀN�ÀNÈÀNîÀO2ÀO8ÀO<ÀO=ÀOJÀOVÀO‹ÀO±ÀOäÀP)ÀPgÀP‹ÀP«ÀP÷ÀQ9ÀQAÀQtÀQ¶ÀQÕÀQÝÀQãÀQçÀQèÀR2ÀR„ÀRˆÀR‰ÀR¨ÀRÈÀRìÀS4ÀS<ÀS�ÀSÞÀT*ÀT{ÀTÆÀUÀUhÀUŒÀU¦ÀUùÀV$ÀV,ÀV2ÀVTÀVšÀV ÀV¤ÀV¥ÀVÇÀWÀWGÀWlÀWÄÀX ÀXÀX^ÀX†ÀX§ÀX´ÀXØÀXøÀXþÀYÀYÀYÀYÀYcÀYŸÀY¿ÀYÀÀZÀZÀZFÀZGÀZ–ÀZ­ÀZÚÀZÛÀ[(À[IÀ[mÀ[‚À[©À[ÎÀ[ûÀ\À\EÀ\[À\aÀ\eÀ\fÀ\‘À\çÀ]4À]BÀ]HÀ]˜À]œÀ]�À]íÀ^@À^�À^ÕÀ^ÚÀ_,À_@À_wÀ_–À_»À_ÞÀ`À`dÀ`²À`þÀa4ÀaUÀa_Àa¬ÀbÀbKÀb–ÀbèÀc1Àc^ÀcuÀc¦ÀcÌÀcÿÀd ÀdmÀdÂÀeÀe^Àe°ÀeùÀf&Àf=ÀfnÀf”ÀfÇÀfæÀgÀg*ÀgwÀgÌÀhÀhDÀhuÀh{ÀhÀh€Àh§ÀhÝÀi'ÀiSÀiqÀi½ÀiÊÀiüÀjÀjDÀjwÀj²ÀjÞÀkÀkHÀkxÀk¢ÀkÞÀkëÀköÀkúÀkûÀlÀlhÀlÁÀlÓÀl×ÀlØÀlôÀmÀmÀmÀm=Àm•ÀmíÀnLÀn�ÀnâÀoÀo7Ào‘ÀoÉÀoáÀoîÀp+Àp@ÀpƒÀpÐÀqÀqSÀq–ÀqØÀrÀr^Àr ÀrÞÀsÀs`Às„ÀsÕÀtÀt<ÀtpÀt¦ÀtÖÀuÀu<ÀuIÀuTÀuŠÀuÔÀvÀvÀvYÀvfÀv˜Àv­ÀvëÀw3ÀwnÀw{Àw†ÀwŠÀw‹Àw§ÀwëÀxÀxcÀxqÀx”Àx½ÀxäÀy Ày.Ày~Ày’Ày¥ÀyÊÀyïÀzÀz1ÀzÀzÏÀ{À{EÀ{rÀ{ËÀ{òÀ|.À|‡À|œÀ|ªÀ|ÈÀ}
À}aÀ}kÀ}yÀ}¢À}ÅÀ~"À~{À~´À~ÉÀ~×ÀÀiÀ¼ÀÚÀèÀ€À€6À€[À€€À€§À€âÀ�9À�CÀ�QÀ�zÀ�¡À�ÈÀ�ëÀ‚=À‚„À‚¿ÀƒÀƒZÀƒhÀƒ�Àƒ²ÀƒÙÀ„À„pÀ„zÀ„€À„¦À„ªÀ„«À„çÀ…4À…BÀ…‘À…ÜÀ…îÀ…øÀ†0À†ƒÀ†‰À†¯À†³À†´À†òÀ‡?À‡MÀ‡œÀ‡çÀ‡ùÀˆÀˆKÀˆžÀˆ¬ÀˆÕÀˆüÀ‰#À‰vÀ‰¬ÀŠ ÀŠ%ÀŠUÀŠwÀŠ®ÀŠ¿À‹À‹&À‹IÀ‹cÀ‹‹À‹ÆÀ‹òÀŒEÀŒpÀŒ¨ÀŒÏÀŒÝÀŒ÷À�%À�EÀ�zÀ�‰À�àÀŽ3ÀŽQÀŽ_ÀŽ„ÀŽ©ÀŽÐÀŽêÀ�À�8À�mÀ�|À�ÓÀ�ÝÀ�ëÀ�À�;À�bÀ�…À�ÕÀ�þÀ‘PÀ‘lÀ‘œÀ‘¾À‘úÀ’ À’dÀ’rÀ’—À’¼À’ãÀ’ýÀ“+À“KÀ“…À“”À“ëÀ“õÀ“ûÀ”!À”%À”&À”^À”ŠÀ”ÞÀ•-À•À•ÐÀ•ðÀ–7À–\À–À–¢À–ÔÀ–îÀ—À—À—1À—cÀ—}À—‡À—¨À—ÉÀ—ìÀ˜=À˜LÀ˜RÀ˜lÀ˜’À˜¹À˜½À˜¾À˜óÀ™*À™zÀ™ÄÀšÀšWÀšuÀš‘Àš Àš¸ÀšÀÀšÎÀšÔÀ›!À›/À›XÀ›À›¦À›ÉÀ›äÀœ&Àœ}Àœ¢ÀœÇÀœîÀ�2À�<À�JÀ�—À�ÀÀ�çÀžÀž3ÀžˆÀžÛÀžùÀŸÀŸ%ÀŸHÀŸmÀŸ‰ÀŸéÀ À À aÀ ´À ÒÀ àÀ¡À¡*À¡QÀ¡˜À¡ºÀ¡ÍÀ¡×À¡ÝÀ¢À¢*À¢.À¢/À¢YÀ¢†À¢”À¢šÀ¢âÀ£#À£IÀ£†À£ŒÀ£�À£‘À£ÔÀ£ùÀ¤À¤KÀ¤šÀ¤åÀ¥7À¥†À¥ÁÀ¥×À¥ÝÀ¦À¦À¦À¦UÀ¦®À¦ýÀ§#À§'À§(À§gÀ§�À§§À§ÎÀ§âÀ¨À¨3À¨9À¨=À¨>À¨†À¨ÖÀ©À©lÀ©�À©²À©ºÀ©ÀÀ©ÒÀ©ÖÀ©×ÀªÀªbÀª²ÀªîÀ«␍À«2À«UÀ«xÀ«›À«ìÀ¬,À¬�À¬ÂÀ¬ÍÀ­␍À­bÀ­ŒÀ­ÎÀ­èÀ®)À®UÀ®gÀ®qÀ®·À®ÖÀ¯À¯6À¯›À¯´À¯ÆÀ¯ÐÀ°À°0À°PÀ°iÀ°{À°…À°ÖÀ±À±zÀ±¬À±·À±øÀ²@À²JÀ²PÀ²ŸÀ²ÆÀ³À³9À³uÀ³‰À³ÄÀ³êÀ³îÀ³ïÀ´À´À´7À´~À´¯À´°À´öÀ´üÀµMÀµžÀµÐÀÀ¶hÀ¶³À·À·JÀ·”À·¢À·¨À·ÕÀ¸À¸4À¸^À¸kÀ¸xÀ¸›À¸ÊÀ¹À¹GÀ¹YÀ¹cÀ¹•À¹ßÀºÀº%Àº+Àº/Àº0Àº_Àº€Àº¥À»À»À»IÀ»_À»eÀ»À»¥À»ÌÀ»ÐÀ»ÑÀ»øÀ¼&À¼HÀ¼LÀ¼MÀ¼pÀ¼»À¼îÀ¼ïÀ½7À½=À½ŽÀ½ßÀ¾À¾_À¾«À¾öÀ¿EÀ¿�À¿ÛÀ¿éÀ¿ïÀÀÀÀIÀÀÀÀ©ÀÀ¶ÀÀÃÀÀæÀÁÀÁcÀÁ–ÀÁ¨ÀÁ²ÀÁæÀÂ2ÀÂlÀÂzÀ€À„ÀÂ…À®ÀÂÞÀÃÀÃÀÃÀÃ+ÀÃ,ÀÃ]ÀÃŒÀÃ�ÀÃÕÀÄÀÄÀÄvÀĽÀÅ!ÀÅ"ÀÅHÀÅ­ÀÅ´ÀÅÚÀÅÞÀÅßÀÆ)ÀÆ„ÀÆÎÀÇÀÇ5ÀÇaÀDzÀÇÚÀÇÛÀÈÀÈhÀÈoÀÈ•ÀÈäÀÈèÀÈéÀÉ/ÀÉoÀÉËÀÊÀÊtÀÊuÀÊ›ÀÊþÀËÀË+ÀË/ÀË0ÀËxÀËÏÀÌÀÌbÀÌ~Ą̀ÀÌ÷ÀÍÀÍÀÍFÀÍ©ÀͰÀÍÖÀÎ%ÀÎ)ÀÎ*ÀÎRÀÎtÀΗÀÎ�ÀÎõÀÏGÀÏwÀÏ·ÀÏÜÀÐÀÐFÀÐOÀÐpÀÐwÀÐxÀÐ’ÀÐÆÀÐâÀÑ"ÀÑlÀÑsÀÑwÀÑxÀÑ›ÀÑÅÀÑêÀÑøÀÑþÀÒNÀÒšÀÒÄÀÒÜÀÒüÀÓKÀÓŠÀÓÎÀÔÀÔ?ÀÔŠÀÔÇÀÕÀÕIÀÕrÀÕ ÀÕÓÀÕòÀÖÀÖBÀÖqÀÖœÀÖÙÀÖàÀÖäÀÖåÀ×À×-À×;À×AÀ×kÀ×»ÀØÀØÀØjÀØ«ÀØôÀÙ3ÀÙdÀÙhÀÙiÀÙŒÀÙ’ÀÙÝÀÙêÀÚÀÚ'ÀÚOÀÚbÀÚhÀÚiÀÚ’ÀÚ¦ÀÚ¬ÀÚ­ÀÚÌÀÚòÀÛÀÛÀÛÀÛ0ÀÛ6ÀÛ�ÀÛÑÀÜÀÜ/ÀÜ5À܆ÀܰÀÜöÀÝ
ÀÝÀÝÀÝbÀݲÀÞÀÞMÀÞŽÀÞ°ÀÞÄÀÞÊÀÞËÀÞðÀßÀßÀßÀßKÀß—ÀßåÀà3ÀàwÀàŸÀà²Àà¸Àà¹ÀàßÀààÀáÀáÀáOÀá‰Àá’Àá™ÀáªÀá®Àá¯ÀáòÀáøÀâFÀâ˜ÀâàÀâæÀã*ÀãhÀãnÀã¸ÀäÀäOÀäuÀä{Àä®Àä´ÀäáÀäçÀå;ÀåƒÀå¹Àå¿ÀåÏÀæÀæ[ÀæšÀæàÀç2Àç‚ÀçºÀçÐÀçìÀè Àè/Àè6ÀèMÀèxÀè×ÀèàÀèîÀèôÀéÀéEÀé�Àé“Àé—Àé˜ÀéÝÀéãÀê1ÀêƒÀêËÀêÑÀëÀëUÀë[Àë¥ÀëôÀì<ÀìbÀìhÀì›Àì¡ÀìÎÀìÔÀí(ÀípÀí¦Àí¬Àí¼ÀíÿÀîDÀîƒÀîÉÀïÀïkÀï£Àï»Àï×ÀïôÀðÀð!Àð8ÀðcÀðÄÀðÍÀðÛÀðáÀñÀñ6Àñ€Àñ†ÀñŠÀñ‹ÀñÉÀñÏÀñüÀòÀòÀòYÀòœÀòáÀó ÀófÀó¸ÀóðÀô(ÀôUÀôoÀô“ÀôµÀô¹ÀôºÀôïÀôõÀõ"Àõ(ÀõuÀõÀÀö ÀöÀödÀö‹Àö‘Àö¡ÀöèÀ÷+À÷pÀ÷¯À÷ÿÀøQÀø‰ÀøºÀøçÀùÀù\Àù`ÀùaÀùžÀù¤ÀùÑÀù×Àú#ÀúnÀú¿ÀúÅÀûÀû>ÀûDÀûTÀû›ÀûÞÀü#ÀüaÀü§ÀüßÀýÀýBÀý\Àý¼ÀýÀÀýÁÀýìÀýòÀþ?Àþ‚ÀþˆÀþÖÀÿ&ÀÿoÀÿ€ÀÿžÀÿÁÀÿæÀÿêÀÿëÀ,ÀFÀ`À‹À®ÀôÀÀÀÀ>ÀƒÀ›À©À¯ÀñÀõÀöÀÀ[ÀsÀ�À‡À×ÀÛÀÜÀÀÀ)À/À~À­ÀäÀÀwÀÌÀ#ÀOÀeÀkÀ«ÀáÀýÀ'ÀMÀ{À‚À†À‡À§ÀàÀ
À0À6ÀQÀ¡ÀíÀ&À?ÀÀ™À¦ÀèÀîÀ 8À sÀ wÀ xÀ ÇÀ òÀ
$À
2À
8À
aÀ
‡À
¡À
ÜÀ
þÀ À À 4À ƒÀ ªÀ ®À ¯À ÙÀ ÚÀ À AÀ OÀ UÀ «À íÀ␍#À␍\À␍£À␍íÀ%ÀWÀ^À‡À°ÀØÀóÀ#ÀXÀƒÀŒÀ“À¹ÀÀ/À3À4À\À]À©ÀÒÀØÀèÀîÀBÀ�ÀáÀ(ÀwÀ�ÀÞÀÀGÀ“ÀãÀÀTÀ‡ÀšÀ«À¬ÀãÀ À3ÀZÀxÀÏÀþÀ!ÀAÀfÀ‹À²ÀÍÀ×ÀàÀøÀ!ÀHÀkÀ’ÀÈÀíÀÀ9ÀRÀmÀwÀ€À”À¦À§ÀàÀ À0ÀWÀuÀÌÀûÀÀ>ÀcÀˆÀ¯ÀÊÀÔÀÝÀÀÀÀXÀ‹ÀÐÀèÀÀÀ ÀKÀbÀ�À ÀÀÀøÀ#À}ÀšÀ¨ÀµÀÀÀÉÀÏÀçÀëÀìÀ)ÀIÀŽÀ’À“ÀÎÀìÀ/À3À4ÀƒÀ·À À SÀ }À ÏÀ!À!VÀ!{À!¼À!ÿÀ"À"À":À"}À"¾À"ÇÀ"ÍÀ"àÀ"äÀ"åÀ#␍À#OÀ#{À#±À#²À#ÁÀ#êÀ$#À$'À$3À$SÀ$TÀ$cÀ$ŒÀ$ÅÀ$ÉÀ$ÕÀ$÷À$øÀ%À%4À%ZÀ%qÀ%™À%ŸÀ%£À%¤À%°À%ãÀ%ùÀ&CÀ&uÀ&‹À&¡À&§À&ÍÀ'À'CÀ'GÀ'HÀ'WÀ'€À'¹À'½À'ÉÀ'ýÀ(
À( À(oÀ(–À(šÀ(›À(ªÀ(ÓÀ) À)À)À)eÀ)fÀ)uÀ)žÀ)×À)ÛÀ)çÀ*À*OÀ*SÀ*TÀ*cÀ*ŒÀ*ÅÀ*ÉÀ*ÕÀ+À+À+À+ À+/À+XÀ+‘À+•À+¡À+úÀ,-À,1À,2À,AÀ,jÀ,£À,§À,³À,ñÀ-À-À- À--À-.À-:À-^À-À-�À-ÓÀ."À.&À.'À.3À.ZÀ.�À.ºÀ.éÀ/À/À/À/À/À/2À/kÀ/šÀ/¼À/äÀ02À0lÀ0”À0¶À0ÔÀ1À1IÀ1iÀ1~À1‚À1ƒÀ1�À1œÀ1ÃÀ1îÀ2*À2cÀ2ÈÀ2ÏÀ2ñÀ34À3:À3PÀ3qÀ3 À3çÀ40À4IÀ4TÀ4–À4ÂÀ4ØÀ4øÀ5À5 À53À5TÀ5wÀ5 À5ÑÀ5÷À6À60À6`À6‡À6¬À6ÉÀ6ØÀ6åÀ6ðÀ6ùÀ7À7À7À7À7UÀ7YÀ7§À7øÀ8 À8[À8–À8—À8£À8ÙÀ8úÀ9&À9,À9VÀ9ZÀ9\À9]À9¦À9ÆÀ9ÇÀ9ìÀ9íÀ9ùÀ:DÀ:yÀ:}À:À:€À:ÑÀ:õÀ:öÀ;À;À;(À;wÀ;ŠÀ;ŽÀ;�À;‘À;àÀ<À<QÀ<RÀ<wÀ<œÀ<�À<©À<âÀ=%À=)À=+À=,À=‚À=¦À=øÀ=ùÀ>À>CÀ>DÀ>PÀ>‰À>­À>ãÀ>ñÀ>÷À?:À?>À?@À?AÀ?šÀ?¾À?öÀ?÷À@À@À@)À@bÀ@†À@¼À@ÊÀ@ÐÀA ÀA␍ÀAÀAÀA^ÀA™ÀA�ÀAëÀB8ÀB�ÀB…ÀBÕÀC#ÀCtÀCÉÀCïÀCóÀDKÀD¦ÀDÿÀEfÀEjÀExÀE|ÀEÌÀFÀFrÀF²ÀFóÀFôÀG2ÀGqÀGrÀGµÀGãÀGäÀH%ÀHQÀHRÀH¬ÀH²ÀIÀIXÀImÀIsÀIÌÀIèÀIîÀJIÀJaÀJgÀJÅÀKÀK+ÀK€ÀK–ÀK§ÀKÕÀKçÀLÀL(ÀLXÀL†ÀLŒÀL�ÀL‘ÀLÚÀMÀM^ÀMdÀM®ÀNÀNPÀNmÀNsÀNÑÀO*ÀO7ÀOdÀO²ÀOÀÀOÆÀPÀPfÀPžÀPáÀPçÀQÀQ"ÀQ#ÀQtÀQ©ÀQ¶ÀQßÀRÀR*ÀR1ÀRCÀR‰ÀR–ÀRÞÀRäÀRèÀRéÀS9ÀSiÀS¤ÀSÐÀTÀT^ÀT‚ÀT½ÀUÀU+ÀUlÀU’ÀU¬ÀU·ÀUÎÀU×ÀUÝÀVÀVKÀV�ÀV±ÀVèÀW+ÀWRÀW“ÀW·ÀWÏÀWÚÀWðÀWùÀWÿÀXÀXÀX/ÀX5ÀXyÀX¿ÀXþÀY ÀY2ÀYuÀY¤ÀYÑÀYÕÀYÖÀZÀZ ÀZhÀZ˜ÀZžÀZâÀ[/À[<À[…À[´À[áÀ[åÀ[æÀ[òÀ\À\SÀ\qÀ\uÀ\vÀ\‚À\ÅÀ]À]/À]BÀ]FÀ]GÀ]SÀ]˜À]ÚÀ^À^À^À^À^'À^vÀ^½À^æÀ^ùÀ^ýÀ^þÀ_
À_NÀ_”À_·À_ÊÀ_ÎÀ_ÏÀ_ÛÀ`)À`NÀ`‡À`ÅÀ`ÌÀ`ÿÀaÀaÀaÀa#ÀaFÀa[Àa_Àa`ÀalÀaËÀaåÀbÀb`ÀbˆÀbµÀcÀc(ÀcMÀc‹Àc´ÀcÞÀd␍ÀdÀdUÀd‘ÀdÎÀdöÀdüÀe?ÀeCÀeDÀeœÀe¢ÀeÄÀfÀf?ÀflÀf¾ÀfùÀgAÀgbÀgnÀg¡ÀgýÀh=ÀhxÀh�Àh­ÀhâÀhêÀi%Ài+Ài‹ÀiÍÀj
ÀjÀjAÀjvÀj~Àj¹Àj¿ÀjÃÀjÄÀjÐÀjðÀk$ÀkEÀk¡ÀkªÀk°ÀkæÀlÀlgÀlpÀlvÀlµÀlÛÀm!Àm(ÀmPÀm–Àm�Àm¿ÀmÃÀmÅÀmÆÀnÀnÀn!ÀnrÀnÀÀoÀo\ÀovÀoÀÀoðÀpÀpTÀpZÀp^Àp_ÀpŸÀpÐÀpÑÀqÀq*Àq0Àq~ÀqÎÀqéÀqïÀr5ÀrnÀrtÀr¹ÀrûÀrüÀsAÀsNÀssÀstÀs»ÀsÈÀsïÀsðÀtÀt6ÀtTÀtxÀtyÀt£ÀtÎÀtóÀu"Àu#ÀuNÀuOÀu[ÀuÀu®ÀuÎÀuïÀuóÀuôÀvÀv'ÀvPÀv˜ÀvÄÀvÍÀwÀw(Àw.ÀwQÀwrÀwvÀwwÀw¾ÀwÙÀwùÀwýÀwþÀx#ÀxJÀxsÀx§ÀxÒÀxäÀxîÀyÀy8Ày@ÀyAÀyœÀyíÀz9Àz…Àz¿ÀzìÀzûÀ{3À{OÀ{ŒÀ{—À{ŸÀ{¥À{©À{ªÀ{ÈÀ{ìÀ|␍À|&À|,À|HÀ|LÀ|MÀ|hÀ|ÁÀ|ÿÀ}!À};À}VÀ}�À}ÆÀ}åÀ~JÀ~�À~ºÀÀ5ÀpÀ¤À®ÀçÀ€À€#À€`À€|À€ŽÀ€–À€—À€èÀ�À�SÀ�ªÀ‚À‚0À‚8À‚~À‚¨À‚ÁÀ‚ÇÀ‚ÓÀƒÀƒ?Àƒ}Àƒ„Àƒ×À„&À„tÀ„ÃÀ…À…@À…vÀ…—À…›À…œÀ…ÎÀ†(À†_À†€À†­À†ÒÀ†ØÀ‡À‡.À‡4À‡tÀ‡xÀ‡yÀ‡¾À‡ËÀ‡ÜÀ‡üÀˆÀˆ Àˆ!Àˆ-ÀˆbÀˆ¤Àˆ»ÀˆÝÀˆâÀˆãÀ‰0À‰TÀ‰“À‰½À‰âÀ‰ûÀŠÀŠ%ÀŠ)ÀŠ*ÀŠaÀŠ“ÀŠâÀ‹*À‹0À‹CÀ‹GÀ‹HÀ‹”À‹´À‹ºÀ‹ÚÀ‹çÀŒ)ÀŒ*ÀŒiÀŒÇÀ�%À�^À�uÀ�ŠÀ��À�¿À�ÃÀ�ÄÀŽÀŽ ÀŽ&ÀŽpÀ޲ÀŽäÀ�%À�hÀ�¶À�ùÀ�GÀ�WÀ�]À�§À�ÌÀ�ÒÀ�ûÀ�ÿÀ‘À‘PÀ‘˜À‘žÀ‘ÝÀ’À’&À’‹À’œÀ’¢À’·À“À“,À“2À“oÀ“–À“œÀ“ÃÀ“ÇÀ“ÈÀ“óÀ”DÀ”’À”ÜÀ•À•À•À•5À•9À•:À•À•ŒÀ•¹À–À–DÀ–¦À–¬À–­À–ÔÀ—&À—JÀ—lÀ—uÀ—ÅÀ—çÀ˜ À˜À˜À˜À˜SÀ˜¨À™À™9À™tÀ™©À™ÞÀšÀšÀš Àš@ÀšuÀšËÀ›À›À›TÀ›]À›•À›±À›ÖÀ›öÀœ;Àœ€Àœ‹Àœ“Àœ™ÀœšÀœÐÀ�!À�TÀ�¸À�ëÀž"Àž(ÀžFÀžwÀžÉÀžþÀŸÀŸJÀŸSÀŸ‹ÀŸ¥ÀŸÈÀŸæÀ 'À hÀ sÀ {À �À ‚À ËÀ¡À¡3À¡ZÀ¡£À¡³À¢À¢qÀ¢ÈÀ¢îÀ£:À£’À£ÖÀ£ãÀ¤ À¤PÀ¤]À¤rÀ¤±À¤·À¤¸À¤ÖÀ¤ýÀ¥ À¥FÀ¥§À¥ÚÀ¥òÀ¥ùÀ¥ýÀ¥þÀ¦IÀ¦–À¦äÀ§1À§€À§�À§¢À§òÀ¨KÀ¨€À¨ªÀ¨ûÀ©#À©)À©BÀ©FÀ©GÀ©SÀ©›À©çÀ©õÀ©ûÀª ÀªAÀªeÀªiÀªjÀª»ÀªÁÀ«À«UÀ«¤À«¾À«æÀ¬À¬TÀ¬šÀ¬ÃÀ¬ÞÀ¬ïÀ­À­#À­GÀ­ƒÀ­•À­¸À­çÀ® À®UÀ®vÀ®£À®ÅÀ¯À¯XÀ¯›À¯¡À¯ïÀ° À°8À°vÀ°�À°¥À°ÏÀ± À±0À±8À±FÀ±LÀ±MÀ±šÀ±ÖÀ±ÜÀ²%À²_À²eÀ²fÀ²¬À²­À²ïÀ³#À³XÀ³²À³ÀÀ³ÆÀ³ÇÀ´À´SÀ´™À´�À´žÀ´×À´ãÀµ␍Àµ7ÀµnÀµÁÀµÈÀµæÀµùÀµÿÀ¶"À¶LÀ¶uÀ¶{À¶µÀ¶¹À¶ºÀ· À·À·dÀ·„À·�À·«À¸À¸À¸^À¸³À¸ÿÀ¹PÀ¹mÀ¹½Àº ÀºÀº$Àº=ÀºTÀºpÀºÄÀ»À»xÀ»èÀ¼(À¼kÀ¼„À¼âÀ¼èÀ½&À½`À½…À½ŸÀ½ÆÀ¾ À¾NÀ¾[À¾eÀ¾•À¾¶À¾ÈÀ¾ÐÀ¿À¿&À¿JÀ¿SÀ¿�À¿§À¿ËÀ¿ÔÀ¿íÀÀÀÀ{ÀÀ–ÀÀ¥ÀÀõÀÀýÀÁÀÁÀÁ!ÀÁÄÀÁËÀÁìÀÂ+ÀÂhÀÂoÀÂsÀÂtÀÂÂÀÃÀÃÀÃRÀÃxÀÄÀíÀÃÖÀÄ␍ÀÄbÀÄiÀÄ–ÀÄšÀÄ›ÀÄÜÀÅÀÅÀÅoÀÅ¡ÀŦÀÅêÀÆÀÆ\ÀÆjÀÆpÀƾÀÆûÀÇ ÀÇHÀÇZÀǤÀǸÀÇÛÀÈ/ÀÈ<ÀÈJÀÈPÀÈ¥ÀÈøÀÉ:ÀÉnÀÉ€ÀɈÀÉÞÀÉäÀÉèÀÉéÀÊÀÊ'ÀÊjÀÊ¡ÀÊÙÀÊßÀËÀË:ÀË[ÀË_ÀË`ÀË ÀˬÀËÿÀÌWÀÌ^ÀÌ�ÀÌÄÀÍÀÍ[ÀÍ´ÀͺÀÍäÀÎ&ÀÎTÀÎ�ÀÎÑÀÏÀÏCÀÏUÀÏbÀÏ ÀÏÏÀÏâÀÏîÀÏøÀÐÀÐ(ÀÐuÀÐÍÀÑ+ÀÑRÀÑ\ÀÑ—ÀÑ«ÀѵÀÒÀÒ-ÀÒ7ÀÒsÀÒÃÀÓ
ÀÓ ÀÓjÀÓ‚ÀÓ©ÀÔÀÔÀÔ[ÀÔeÀÔ‰ÀÔ˜ÀÔÓÀÕ ÀÕFÀÕPÀÕXÀÕ^ÀÕ‡ÀÕ§ÀÕ«ÀÕ¬ÀÕãÀÖÀÖ!ÀÖfÀÖ�ÀÖ“ÀÖ”ÀÖÐÀ×À×À×bÀ׋À×�À×�ÀרÀ×åÀØ)ÀØ`ÀؘÀØžÀØÁÀØæÀÙÀÙ ÀÙ ÀÙKÀÙXÀÙ²ÀÚÀÚ2ÀÚMÀÚ�ÀÚŸÀÚ÷ÀÚÿÀÛÀÛ`ÀÛ½ÀÛÖÀÜÀÜ_ÀÜyÀÜÊÀÜþÀÝÀÝÀÝAÀ݇ÀÝ¡ÀÝòÀÞ"ÀÞ*ÀÞ0ÀÞGÀÞuÀÞ‚ÀÞ²ÀÞ¸ÀÞËÀÞÏÀÞÐÀßÀßÀß|ÀßÐÀßüÀàUÀà†ÀàËÀáÀá(Àá.Àá‰ÀáæÀâÀâ7ÀâŒÀâ¾ÀâßÀâýÀã1ÀãYÀã¥Àã´ÀãçÀãóÀãýÀä+Àä|ÀäªÀäàÀäþÀå2ÀåZÀå¥Àå´ÀåçÀåóÀåýÀæ*ÀæXÀæ‡Àæ�Àæ¤ÀæÒÀæßÀçÀçÀç(Àç,Àç-ÀçPÀç]Àç«ÀçåÀèÀè@ÀèrÀèxÀè¤ÀèÒÀéÀéÀéÀéÀéUÀéšÀéØÀêÀê9Àê?ÀêuÀê›Àê¼ÀêÖÀëÀë2Àë^Àë­ÀëÒÀëþÀìCÀìlÀì˜ÀìÜÀíÀí2ÀíxÀí§ÀíÓÀî#Àî\Àî‡ÀîâÀïÀïIÀïªÀï°Àï×Àï÷Àð
ÀðÀðÀðÀð.ÀðeÀð§Àð­ÀðÕÀðýÀñÀñÀñÀñeÀñkÀñ¹ÀñúÀòÀòPÀòdÀòqÀò£Àò¤ÀòãÀòéÀó8ÀópÀó}ÀóÜÀôÀôÀôÀôRÀôXÀô©ÀôöÀõHÀõ‘ÀõÉÀõÏÀöÀöoÀö|ÀöÖÀöâÀ÷CÀ÷JÀ÷aÀ÷„À÷¡À÷ùÀø,ÀøƒÀø ÀøÃÀøæÀùÀù$Àù@ÀùhÀùŒÀù³Àù×ÀùóÀú␍Àú<ÀúHÀúrÀú˜Àú´ÀúàÀûÀû ÀûÀûÀû-ÀûPÀûsÀûyÀûŠÀûµÀûÂÀûïÀûõÀüÀüaÀü±ÀüÿÀý*Àý.Àý/Àý}ÀýÃÀýÉÀþÀþaÀþ¡ÀþýÀÿ␍Àÿ Àÿ€Àÿ•Àÿ�ÀÿÿÀÀÀ>À‹ÀÛÀÀfÀ‚ÀÏÀþÀÀYÀÀ­ÀäÀÀMÀ†À¾ÀÀUÀŒÀÅÀæÀÀYÀ‘À³ÀºÀÍÀÿÀOÀsÀÅÀëÀAÀÀ†ÀÏÀóÀúÀÀSÀ“ÀÐÀ $À �À ªÀ ÌÀ òÀ
À
FÀ
iÀ
‹À
¦À
ÕÀ À CÀ VÀ rÀ �À ™À ÀÀ âÀ ýÀ ,À RÀ …À ˜À µÀ ÐÀ ÜÀ äÀ êÀ ûÀ␍&À␍3À␍`À␍fÀ␍†À␍ŸÀ␍£À␍¥À␍¦À␍ðÀ␍þÀKÀLÀ˜ÀµÀ¹ÀÇÀËÀÀ,ÀYÀ±À²ÀîÀòÀ3ÀgÀkÀ«ÀëÀÀ.ÀyÀÀÂÀ ÀPÀ“ÀÜÀèÀéÀ5À;ÀƒÀÊÀÀ]À©ÀèÀõÀ÷ÀøÀHÀtÀxÀÙÀÀgÀ©ÀÙÀÚÀÀPÀQÀ¬ÀÉÀÏÀÀÀkÀlÀ½ÀÕÀÛÀÀ'À`ÀlÀ¬ÀïÀ0À|ÀƒÀµÀÌÀÐÀÒÀÓÀÀRÀVÀ¶ÀÀVÀkÀ¶ÀçÀÀ,À2À3ÀÀ™ÀŸÀûÀUÀ§À¨ÀòÀøÀRÀbÀhÀªÀúÀ UÀ hÀ ¼À ßÀ ãÀ äÀ ðÀ!<À!…À!‰À!‹À!ŒÀ!áÀ"8À"SÀ"WÀ"©À#À#À#UÀ#¨À#öÀ$DÀ$zÀ$~À$’À$éÀ%À% À%uÀ%…À%‰À%�À%âÀ&␍À&À&fÀ&vÀ&zÀ&ˆÀ&ŒÀ&ÜÀ'␍À'<À'šÀ'›À'ÔÀ( À(
À(EÀ(KÀ(|À(’À(“À(ŸÀ(æÀ(èÀ(éÀ)*À)ƒÀ)´À)¹À)ºÀ)ÆÀ)üÀ*"À*eÀ*¦À*¬À*°À*±À*½À*ÐÀ*òÀ+À+ À+ À+À+?À+‘À+•À+—À+˜À+èÀ,
À,_À,ŽÀ,ÏÀ,ÓÀ,ÔÀ-À-À-5À-rÀ-±À-×À.À.À.À.)À.DÀ.aÀ.�À.áÀ/
À/À/À/HÀ/LÀ/MÀ/YÀ/lÀ/«À/ÑÀ/æÀ/êÀ/ëÀ/÷À0,À0-À09À0gÀ0iÀ0jÀ0ÊÀ0ÎÀ1À1kÀ1»À1ÙÀ1ÝÀ2.À2�À2¸À3À3␍À3@À3cÀ3dÀ3ÉÀ3çÀ3éÀ3êÀ49À4FÀ4JÀ4ŠÀ4ÉÀ4ûÀ4üÀ5VÀ5\À5¹À6À69À6UÀ6¬À6­À7
À7?À7@À7šÀ7¦À7¹À8DÀ8KÀ8wÀ8{À8|À8¬À8ËÀ8ÏÀ8ÐÀ8êÀ8öÀ9 À95À9JÀ9NÀ9OÀ9ªÀ9ÇÀ9ÍÀ:À:À:;À:\À:`À:b_kLongPressSelectionDevices&_kSelectableVerticalComparingThresholdSelectableRegionSelectableRegionState_NonOverrideAction_SelectAllAction_CopySelectionAction _GranularlyExtendSelectionAction%_GranularlyExtendCaretSelectionAction(_DirectionallyExtendCaretSelectionAction StaticSelectionContainerDelegate)MultiSelectableSelectionContainerDelegateSelectableRegionSelectionStatus(_SelectableRegionSelectionStatusNotifier$SelectableRegionSelectionStatusScopeSelectionListener_SelectionListenerState_SelectionListenerDelegateSelectionDetailsSelectionListenerNotifier{I