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
@@ -0,0 +1,602 @@
€ópoint direction==toStringhashCode_currentOffset _currentLine_currentTextPosition _lineMetrics _editable_isValidisValid_positionCache_getTextPositionForLinecurrentmoveNext movePrevious moveByOffset_foregroundRenderObject_backgroundRenderObjectdispose_updateForegroundPainterforegroundPainter_foregroundPainter_updatePainterpainter_painter␍_caretPainter_selectionPainter_autocorrectHighlightPainter_builtInForegroundPainters _cachedBuiltInForegroundPainters _createBuiltInForegroundPainters_builtInPainters_cachedBuiltInPainters_createBuiltInPainters␍ignorePointertextHeightBehaviortextWidthBasisdevicePixelRatio_devicePixelRatioobscuringCharacter_obscuringCharacter obscureText _obscureTextselectionHeightStyleselectionWidthStyletextSelectionDelegateselectionStartInViewport_selectionStartInViewportselectionEndInViewport_selectionEndInViewport_getTextPositionVerticalgetLineAtOffsetgetWordBoundarygetTextPositionAbovegetTextPositionBelow!_updateSelectionExtentsVisibility_setTextEditingValue␍_setSelectionmarkNeedsPaintsystemFontsDidChange plainTexttext _textPainter_cachedAttributedValue_cachedCombinedSemanticsInfos_textIntrinsicsCache_textIntrinsics textAlign␍textDirectionlocale
strutStyle cursorColorbackgroundCursorColor_disposeShowCursor
showCursor _showCursor_showHideCursorhasFocus _hasFocus forceLine
_forceLinereadOnly _readOnlymaxLines _maxLinesminLines _minLinesexpands_expandsselectionColortextScaleFactor
textScaler selection
_selectionoffset_offset cursorWidth _cursorWidth cursorHeight␍_cursorHeightpaintCursorAboveText_paintCursorOnTop cursorOffset cursorRadiusstartHandleLayerLink_startHandleLayerLinkendHandleLayerLink_endHandleLayerLinkfloatingCursorAddedMarginfloatingCursorOn_floatingCursorOn_floatingCursorTextPositionenableInteractiveSelection_enableInteractiveSelectionselectionEnabledpromptRectColorsetPromptRectRangemaxScrollExtent_maxScrollExtent _caretMargin clipBehavior␍_clipBehavior_semanticsInfo_cachedChildNodesgetBoxesForSelectiondescribeSemanticsConfiguration_handleSetTextassembleSemanticsNode_createShowOnScreenFor_handleSetSelection#_handleMoveCursorForwardByCharacter$_handleMoveCursorBackwardByCharacter_handleMoveCursorForwardByWord_handleMoveCursorBackwardByWord _getNextWord_getPreviousWord_onlyWhitespaceattachdetachredepthChildren␍visitChildren _isMultiline␍_viewportAxis _paintOffset_viewportExtent_getMaxScrollExtent_hasVisualOverflowgetEndpointsForSelectiongetRectForComposingRangegetPositionForPointgetLocalRectForCaretcomputeMinIntrinsicWidthcomputeMaxIntrinsicWidthpreferredLineHeight_cachedLineBreakCount_countHardLineBreaks_preferredHeightcomputeMinIntrinsicHeightcomputeMaxIntrinsicHeightcomputeDistanceToActualBaseline hitTestSelfhitTestChildren_tap
_longPress handleEvent_lastTapDownPosition_lastSecondaryTapDownPositionlastSecondaryTapDownPositionhandleSecondaryTapDown␍handleTapDown_handleTapDown handleTap
_handleTaphandleDoubleTaphandleLongPress_handleLongPressselectPositionselectPositionAtwordBoundaries
selectWordselectWordsInRangeselectWordEdgegetWordAtOffset_placeholderDimensions_adjustConstraints_computeTextMetricsIfNeeded_caretPrototype_computeCaretPrototype_snapToPhysicalPixelcomputeDryLayoutcomputeDryBaseline␍performLayout_relativeOrigin_previousOffset_shouldResetOrigin_resetOriginOnLeft_resetOriginOnRight_resetOriginOnTop_resetOriginOnBottom"_resetFloatingCursorAnimationValue_calculateAdjustedCursorOffset$calculateBoundedFloatingCursorOffsetsetFloatingCursor_lineNumberForstartVerticalCaretMovement_paintContents_leaderLayerHandler_paintHandleLayersapplyPaintTransformpaint_clipRectLayerdescribeApproximatePaintClipdebugFillPropertiesdebugDescribeChildrenparentisRepaintBoundary␍sizedByParent␍shouldRepainthighlightPainthighlightColor_highlightColorhighlightedRange_highlightedRange_selectionHeightStyle_selectionWidthStyle shouldPaint _shouldPaintshowRegularCaret
caretPaintfloatingCursorPaint
caretColor _caretColor␍_cursorRadius␍_cursorOffset_backgroundCursorColorfloatingCursorRect_floatingCursorRectpaintRegularCursorpainters addListenerremoveListener
_kCaretGap_kCaretHeightOffset_kFloatingCursorSizeIncrease_kFloatingCursorRadius6_kShortestDistanceSquaredWithFloatingAndRegularCursorsTextSelectionPointVerticalCaretMovementRunRenderEditable_RenderEditableCustomPaintRenderEditablePainter_TextHighlightPainter␍_CaretPainter_CompositeRenderEditablePainter�žBoxHeightStyle␍BoxWidthStyle LineMetricsSemanticsInputTypeTextBoxdouble
EdgeInsets symmetric
horizontalverticalRadiuscircular immutableOffset␍TextDirectionoverrideboolObject identical runtimeTypepoint directionStringltrrtlinthash TextPositioncurrentIteratorList _textPaintercomputeLineMetricsMapMapEntrydxbaselinegetPositionForOffsetlengthkeyvaluedy RenderBox"RelayoutWhenSystemFontsChangeMixinContainerRenderObjectMixinTextParentData%RenderInlineChildrenContainerDefaultsTextLayoutMetrics TextAlignstartViewportOffsetzero
InlineSpanColor␍ValueNotifier LayerLink
StrutStyle
Deprecated
TextScaler noScaling␍TextSelectionTextHeightBehaviorTextWidthBasisparentLocalemaxfromLTRB TextRangeCliphardEdge
characters TextPaintertext textAlign␍textDirection
textScalerlinearlocalemaxLines
strutStyletextHeightBehaviortextWidthBasishighlightColorhighlightedRangeselectionHeightStyleselectionWidthStylepromptRectRange
caretColor cursorRadius cursorOffsetbackgroundCursorColoraddAllchildrenvoidlayerdisposepainterspainter
adoptChildmarkNeedsLayoutmarkNeedsSemanticsUpdateTextSelectionDelegateValueListenablegetOffsetForCaret translategetLineBoundary
baseOffset extentOffsetendgetWordBoundarypreferredLineHeightisValidRectsizeoffsetaffinityinflatecontainsTextEditingValueSelectionChangedCauseuserUpdateTextEditingValuetextEditingValuecopyWithmin selectionmarkNeedsPaintsystemFontsDidChange plainTextAttributedStringInlineSpanSemanticsInformationellipsisjustifyCupertinoColors inactiveGrayFloatingCursorDragStateattachedremoveListener addListener shouldPainttextScaleFactorCompositedTransformTargetKey␍SemanticsNodegetBoxesForSelectionboxHeightStyle␍boxWidthStylemap fromLTRBDtextBoxlefttoprightbottomtoListSemanticsConfigurationdescribeSemanticsConfigurationgetSemanticsInformationanyinfo
recognizerdefaultTargetPlatformTargetPlatformmacOSisSemanticBoundaryexplicitChildNodes StringBufferStringAttributesemanticsLabelstringAttributes␍infoAttributerangeaddcopywritetoString
attributesattributedValue
isObscured isMultiline isFocused isFocusable isTextField
isReadOnly inputTypeonSetSelection onSetText␍textSelectiongetOffsetBeforeonMoveCursorBackwardByWordonMoveCursorBackwardByCharactergetOffsetAfteronMoveCursorForwardByWordonMoveCursorForwardByCharacter collapsedkeyboardIterable
isNotEmpty
firstChildcombineSemanticsInfo␍isPlaceholder elementAtisTagged PlaceholderSpanIndexSemanticsTag
parentData
childAfterisEmptyfirsttoRectskipexpandToIncludefromLTWHwidth constraintsmaxWidthheight maxHeight␍floorToDouble ceilToDoublesortKeyOrdinalSortKeyattributedLabelTapGestureRecognizer VoidCallbackDoubleTapGestureRecognizerhandleronTapisLinkLongPressGestureRecognizerGestureLongPressCallback onLongPressparentPaintClipRect intersectisHiddenremovekeys UniqueKey showOnScreen
updateWithconfigrectchildrenInInversePaintOrder
descendantextent isCollapsedi
codeUnitAt isWhitespace␍PipelineOwnerattach
debugOwner onTapDowndetach RenderObject redepthChildredepthChildrenRenderObjectVisitor␍visitChildrenAxispixelshasSizeSize clampDoublelastfoldaccumincomingshift␍globalToLocalgetFullHeightForCaretiOS
heightDiffandroidfuchsialinuxwindows caretHeighttopLeftPlaceholderDimensionslayoutInlineChildreninfinityBoxConstraintschildgetMinIntrinsicWidthChildLayoutHelpergetDryBaselinesetPlaceholderDimensionslayoutminWidthminIntrinsicWidthgetMaxIntrinsicWidthmaxIntrinsicWidthindexminLinesgetMaxIntrinsicHeightdryLayoutChild TextBaselinecomputeDistanceToActualBaseline protectedBoxHitTestResultposition GlyphInfogetClosestGlyphForOffsetgraphemeClusterLayoutBoundsgetSpanForPositiongraphemeClusterCodeUnitRange␍HitTestTarget HitTestEntryspanhitTestInlineChildren PointerEventBoxHitTestEntrydebugHandleEventPointerDownEventdebugNeedsLayout
addPointerTapDownDetailsglobalPositioncausetap onDoubleTap doubleTap longPress EditableTextTextEditingControllerfromto WordBoundarywordBoundariesbase TextAffinityupstreamvisibleForTesting fromPosition
downstream␍localToGlobalisFiniteroundconstrainWidthconstrainHeight layoutChild getBaselinepositionInlineChildreninlinePlaceholderBoxestightapplyViewportDimensionapplyContentDimensionsshouldResetOriginEndresetLerpValuelerpfloatingCursorRect inflateRectshowRegularCaret lineMetrics
lineNumberdescent_PaintingContext
paintChildpaintcanvaspaintInlineChildren LayerHandle LeaderLayerlink pushLayerMatrix4defaultApplyPaintTransformnone pushClipRectneedsCompositing clipBehavioroldLayer␍ClipRectLayer antiAliasantiAliasWithSaveLayerDiagnosticPropertiesBuilderdebugFillProperties␍ColorPropertyDiagnosticsProperty IntProperty defaultValueDiagnosticsNodetoDiagnosticsNodenamestyleDiagnosticsTreeStyle
transition␍shouldRepaint_computeTextMetricsIfNeededbiggestnotifyListenersforegroundPainter␍CustomPainterRenderCustomPaintChangeNotifierCanvasPaintcolorSettoSetdrawRectbox _paintOffsetgetLocalRectForCaretcenterdistanceSquaredRRectfromRectAndRadius drawRRect_floatingCursorTextPosition withOpacityiteratormoveNextIterator RenderBox"RelayoutWhenSystemFontsChangeMixinContainerRenderObjectMixin%RenderInlineChildrenContainerDefaultsTextLayoutMetricsChangeNotifierRenderEditablePainteryZ5Œ(¸úÔûqþìâ€á€ó€ömath€ö dart:math��_BoxHeightStyle␍BoxWidthStyle LineMetricsSemanticsInputTypeTextBox€ý�␍�ui�dart:ui�c"package:characters/characters.dart��package:flutter/foundation.dart�ºpackage:flutter/gestures.dart�âpackage:flutter/semantics.dart‚ package:flutter/services.dart‚4box.dart‚Gcustom_paint.dart‚c
layer.dart‚xlayout_helper.dart‚• object.dart‚«paragraph.dart‚Äviewport_offset.dartÀ½ÀÂJŒU<€†€¤€¥€Ö€ß€à€ü�a�b���¹�á‚
‚2‚3‚F‚b‚w‚”‚ª‚Ââ‚ムƒ>ƒ?ƒ�ƒÀ„„„*„-„.„e„¡„¢……D…�…І†l†m†¶‡‡‡)‡D‡€‡¸‡¹ˆˆDˆZˆ[ˆ–ˆ¸ˆ¹ˆÅˆè‰
‰‰#‰O‰c‰i‰É‰Í‰Î‰Ú‰ðŠŠ9ŠbŠzŠ�ЅІВŠÇŠÉŠÊ‹‹d‹|‹€‹ÊŒŒdŒ³��Q�}���ÏŽŽn޽� �)�-�T�^�f�p�À�␍�\�¬�ù‘G‘X‘\‘ª‘ù’F’l’’ƒ’Ä““^“¯“ë“ï”D”^”b”°••N•j•­•˕ߕö––,–E–J–K–d–x–�–ž–É–ë–ì———G—M—›—±—·˜˜C˜X˜m˜�˜‡˜ä™4™p™¤™¼™Â™×™Û™ÜššMšNš™š®šË›"›D›a›g›�›�›äœEœ–œÁœÖœÚœÛœç���:�>�?�K�_�t�§�»�Áž ž7žZž…ž–žšž›žÄžÊŸŸŸ/ŸLŸ`ŸfŸÅŸÜŸÿ * ; ? @ ‚ › ¡ ç í¡%¡J¡{¡”¡Ò¡í¡þ¢¢¢¢[¢z¢‹¢•¢�¢£¢Ï¢Ó¢Õ¢Ö£#£L£P£š£ê¤¤¤f¤µ¥¥S¥¢¥¹¥½¦␍¦^¦¢¦É¦Ò¦þ§=§k§Ž§à§æ¨$¨*¨y¨¨Í©©^©d©­©¾©Ñ©çªª<ªTªvª›ª¯ªÜ«««1«K«g«‚«“«´¬#¬_¬e¬‡¬¹¬×¬û­­6­Q­}­¸­Ý­û®®-®G®a®ˆ®¯®Ò¯¯W¯}¯É¯é°°,°U°y°§°Æ°÷±(±7±„±¸±Â±Ñ²²S²]²l²¼³³&³`³ƒ³¿³â³÷´´=´u´§´Â´Ûµµ)µZµƒµ�µÌµé¶¶!¶@¶Y¶|¶¡¶Ò··@·u·¦·×·ú¸¸6¸[¸�¸²¸é¸ê¹!¹U¹˜¹Ù¹Úººbºcº�º¾ºí».»/»`»}»“»—»˜»³»ê¼!¼"¼.¼A¼g¼�¼³¼Û¼ÿ½ ½Q½x½¡½È½ô¾¾2¾N¾s¾‘¾®¾Ð¾Ö¾ë¾ï¾ð¿5¿…¿ª¿ÕÀ@,À@9À@:À@eÀ@ÁÀ@ëÀA#ÀA0ÀAkÀAqÀA–ÀAšÀA›ÀAÜÀBÀB ÀBUÀB›ÀBÆÀC ÀC9ÀCvÀC¢ÀC°ÀC¶ÀCàÀCäÀCåÀD ÀDpÀD‹ÀD¶ÀEÀEÀEÀE<ÀE˜ÀEÂÀEúÀFÀFBÀFHÀFcÀFgÀFhÀF°ÀF×ÀFÝÀG)ÀGtÀG�ÀGÁÀGäÀHÀH9ÀHGÀHMÀHmÀHqÀHrÀH‡ÀHÑÀI␍ÀIÀI,ÀIwÀIÍÀIÎÀJÀJaÀJ¦ÀJíÀKÀKkÀKrÀKvÀKwÀK±ÀKìÀL'ÀLdÀL�ÀL¹ÀLßÀLúÀM,ÀM5ÀM<ÀM@ÀMAÀMŒÀMœÀM¢ÀMïÀN:ÀNjÀNpÀN¿ÀNÿÀOÀO8ÀONÀOOÀOyÀOÊÀPÀP4ÀPBÀPHÀPuÀPŒÀP�ÀP‘ÀPÌÀQÀQ=ÀQmÀQ{ÀQ�ÀQªÀQÁÀQÅÀQÆÀQóÀQùÀRCÀRwÀR“ÀRºÀRßÀRíÀRóÀSÀS)ÀS-ÀS.ÀSpÀSvÀSŸÀS×ÀSõÀTÀTFÀTTÀTZÀT„ÀT¥ÀT¼ÀTÀÀTÁÀUÀU,ÀUAÀUaÀU‚ÀU�ÀU–ÀU°ÀUÓÀUóÀU÷ÀUøÀVBÀVHÀV‡ÀVßÀWÀWIÀWMÀWNÀW˜ÀWžÀWÜÀX1ÀXeÀX˜ÀXœÀX�ÀXëÀY+ÀY1ÀY‚ÀY¥ÀYÔÀYÕÀZ,ÀZ2ÀZ~ÀZÎÀ[À[,À[2À[À[ÊÀ[çÀ\:À\�À\ŽÀ\ãÀ\éÀ]5À]~À]ÍÀ]çÀ]íÀ^:À^…À^¢À^ñÀ_BÀ_CÀ_ƒÀ_ÛÀ`5À`ŠÀ`ÏÀ`ÓÀ`ÔÀ`òÀ`óÀa5ÀaAÀazÀa½Àb
Àb!ÀblÀbrÀb¼ÀbÀÀbÁÀbýÀc Àc>ÀcqÀcuÀcvÀc½ÀcÉÀdÀdPÀd›ÀdÚÀe#ÀeaÀe Àe¤Àe¥ÀeìÀeøÀf5ÀfÀfÊÀg ÀgRÀg�ÀgÎÀgÒÀgÓÀgïÀgðÀh3ÀhRÀhqÀh ÀhÍÀhÛÀháÀiÀiÀiTÀi¡Ài¸Ài¿ÀjÀjVÀj¤ÀjÞÀk/Àk|ÀkŸÀkÓÀk÷Àl)Àl*ÀlgÀl²ÀlÉÀlÐÀmÀm&ÀmVÀmZÀm[Àm±ÀmøÀmüÀmýÀnNÀnoÀn½Ào ÀoYÀo¥ÀoöÀp.Àp7ÀpˆÀpÙÀqÀqKÀq“ÀqœÀq¢Àq¼Àr␍ÀrÀr!Àr%Àr&Àr2ÀrLÀrhÀr°ÀrßÀsÀsÀsÀsÀs?ÀsaÀs…Às‰ÀsŠÀsËÀsÑÀtÀt>Àt‰Àt»Àt¼ÀtüÀuÀuHÀuuÀu—ÀuÃÀv
Àv*ÀvPÀv^ÀvdÀv†Àv¥ÀvÈÀvòÀw Àw)Àw-Àw.ÀwSÀwwÀw«ÀwÌÀw÷Àx*ÀxWÀx€Àx©ÀxÎÀxûÀy0ÀynÀyrÀysÀy¦ÀyÛÀyþÀz)Àz7Àz=ÀzaÀzxÀz|Àz}Àz£Àz©ÀzìÀ{-À{3À{�À{ÐÀ|À|gÀ|·À|ÇÀ}À}MÀ}•À}×À~À~1À~?À~EÀ~mÀ~„À~¤À~¨À~©À~úÀÀ ÀaÀ¯ÀÿÀ€'À€-À€yÀ€‰À€¶À€ÔÀ€üÀ�
À�À�1À�HÀ�LÀ�MÀ�•À�·À�ðÀ‚À‚BÀ‚PÀ‚VÀ‚{À‚’À‚–À‚—À‚ÈÀ‚þÀƒ ÀƒFÀƒJÀƒKÀƒ•ÀƒºÀƒÀÀ„À„ À„HÀ„NÀ„^À„dÀ„³À„ÇÀ…À…>À…oÀ…sÀ…tÀ…�À…�À…³À…èÀ† À†9À†YÀ†gÀ†mÀ†�À†´À†ºÀ†ØÀ†õÀ‡À‡À‡6À‡JÀ‡cÀ‡“À‡™À‡�À‡žÀ‡¹À‡ëÀ‡ïÀ‡ðÀˆ!ÀˆCÀˆ]ÀˆzÀˆ˜Àˆ¦Àˆ¬ÀˆÃÀˆãÀˆçÀˆèÀ‰=À‰aÀ‰|À‰šÀ‰¹À‰ÇÀ‰ÍÀ‰åÀ‰üÀŠÀŠÀŠ3ÀŠUÀŠoÀŠŒÀŠªÀЏÀоÀŠÕÀŠõÀŠùÀŠúÀ‹IÀ‹OÀ‹™À‹µÀ‹»À‹üÀŒÀŒPÀŒ ÀŒÝÀŒÿÀ�À�À�eÀ�‚À�ªÀ�ÇÀ�ÕÀ�ÛÀ�òÀ�óÀŽCÀŽ“À޽ÀŽðÀ�À� À� À�AÀ�cÀ�uÀ�vÀ�ÉÀ�æÀ�À�+À�9À�?À�VÀ�mÀ�qÀ�rÀ�¦À�ÆÀ�×À�óÀ‘À‘À‘#À‘9À‘PÀ‘TÀ‘UÀ‘‰À‘ÊÀ‘ïÀ’À’!À’"À’hÀ’„À’ŠÀ’ÂÀ’ÈÀ“À“8À“GÀ“fÀ“ÓÀ”␍À”À”OÀ”^À”}À”êÀ•$À•(À•NÀ•yÀ•}À•~À•µÀ•íÀ–À–>À–LÀ–RÀ–wÀ–ŽÀ–’À–“À–ÆÀ–ÌÀ—À—À—XÀ—ƒÀ—±À—ÎÀ—öÀ˜À˜#À˜)À˜AÀ˜qÀ˜‡À˜§À˜«À˜¬À˜âÀ˜èÀ™8À™„À™ÌÀ™ôÀšÀš3ÀšOÀš]ÀšcÀšwÀš¥Àš«ÀšÀÀšÔÀšÿÀ›À›À› À›!À›EÀ›oÀ›ŒÀ›®À›ÏÀ›ÝÀ›ãÀ›ýÀœÀœÀœÀœ<ÀœBÀœŸÀœ¥À�À�OÀ�»À�þÀžÀž;Àž]ÀžkÀžqÀžŒÀž£Àž§Àž¨ÀžðÀŸ;ÀŸAÀŸ�ÀŸµÀŸÊÀ À À CÀ iÀ wÀ }À œÀ ÜÀ¡ À¡,À¡rÀ¡¤À¡ÂÀ¡ÆÀ¡ÇÀ¢À¢UÀ¢[À¢ŸÀ¢èÀ£9À£�À£–À£ÏÀ£òÀ¤À¤À¤À¤VÀ¤\À¤�À¤ÇÀ¤ëÀ¥À¥À¥À¥IÀ¥OÀ¥šÀ¥ðÀ¦/À¦RÀ¦€À¦ªÀ¦¸À¦¾À¦áÀ¦÷À¦ûÀ¦üÀ§+À§1À§|À§ÐÀ¨ À¨,À¨XÀ¨€À¨ŽÀ¨”À¨µÀ¨ËÀ¨ÏÀ¨ÐÀ©À©=À©CÀ©�À©•À©¥À©«À©úÀªÀª6Àª7Àª~Àª°ÀªÒÀ«À«À«=À«CÀ«‡À«ÊÀ«òÀ¬0À¬sÀ¬¨À¬®À¬òÀ­-À­cÀ­…À­ÌÀ­ñÀ®!À®QÀ®_À®eÀ®ŽÀ®¥À®ÅÀ®ÉÀ®ÊÀ¯À¯GÀ¯MÀ¯‘À¯ÔÀ¯üÀ°:À°}À°²À°¸À±À±,À±2À±…À±ÎÀ±ÔÀ²À²]À²¤À²âÀ³À³7À³;À³<À³pÀ³vÀ³ÅÀ´À´oÀ´²À´ÿÀµ(ÀµdÀµhÀµiÀµÆÀÀÀ¶WÀ¶]À¶ºÀ· À·<À·zÀ·~À·À··À·½À¸À¸NÀ¸nÀ¸ À¸¿À¸ÀÀ¸÷À¸øÀ¹.À¹4À¹WÀ¹�À¹§À¹ÈÀ¹êÀºÀºÀºAÀºGÀºKÀºLÀº�Àº¬ÀºäÀºåÀ»1À»€À»¿À»éÀ¼À¼À¼cÀ¼ªÀ¼×À¼ÝÀ½À½\À½À½—À½¶À½ËÀ½ûÀ¾)À¾3À¾AÀ¾sÀ¾ŸÀ¾ÊÀ¾÷À¿%À¿DÀ¿QÀ¿[À¿nÀ¿rÀ¿sÀ¿À¿ÆÀ¿øÀÀ;ÀÀŠÀÀØÀÀ÷ÀÁ.ÀÁ�ÀÁÈÀÁðÀÂAÀÂgÀÂtÀ˜À½ÀÂËÀÂÑÀÂûÀÃÀÃnÀÃ}ÀäÀüÀÃìÀÄ9ÀÄzÀÄÉÀÅ
ÀÅ&ÀÅHÀÅjÀÅ¡ÀÅÔÀÅçÀÅøÀÆÀÆÀÆ2ÀÆTÀÆ^ÀƼÀÆÄÀÆÊÀÆÕÀÇÀÇ(ÀÇKÀÇqÀÇŽÀÇ©ÀÇÄÀÇâÀÈ/ÀÈiÀÈ™ÀÈšÀÈÂÀÈõÀÈûÀÈüÀÉÀÉFÀÉLÀÉMÀÉŠÀɲÀÉýÀÊ ÀÊUÀÊ©ÀʱÀÊûÀË
ÀËQÀË£ÀË«À˱À˵À˶ÀËÛÀÌÀÌ)ÀÌ=ÀÌ~À̇ÀÌ­ÀÌ´À̸À̹ÀÌÅÀÌãÀÌûÀÍÀÍDÀÍJÀÍŒÀÍ·ÀÍëÀÎÀÎÀÎ+ÀÎIÀÎaÀ΄ÀζÀÏÀÏ[ÀϽÀÏÞÀÏßÀÏÿÀÐMÀДÀÐÃÀÐØÀÐÿÀÑPÀÑšÀÑÝÀÒ
ÀÒ0ÀÒKÀÒUÀÒyÀÒ˜ÀÒ§ÀÒÚÀÓ/ÀÓLÀÓ`ÀÓjÀÓ”ÀÓÆÀÔÀÔ9ÀÔiÀÔsÀÔ¶ÀÔúÀÕÀÕ<ÀÕ_ÀÕ•ÀÕÍÀÕØÀÖ&ÀÖwÀÖœÀÖÇÀÖñÀ×À×HÀ×SÀ׊À׺À×çÀØÀØEÀØtÀØ�ÀؤÀØíÀÙBÀÙeÀÙ’ÀÙ½ÀÙËÀÚ0ÀÚWÀÚŽÀÚœÀÚ±ÀÚÄÀÚ×ÀÛ&ÀÛ0ÀÛ`ÀÛ³ÀÜÀÜ ÀÜ6ÀÜlÀܼÀÜÍÀÜðÀÝIÀÝSÀÝdÀÝ’ÀݲÀÝãÀÞÀÞÀÞÀÞ;ÀÞŠÀÞŽÀÞ�ÀÞÁÀÞÑÀß ÀßCÀßJÀßNÀßOÀß–ÀßÖÀàÀàÀàSÀà‘Àà•Àà–ÀàÙÀàøÀáLÀálÀázÀá€ÀáÔÀáçÀâ0ÀâVÀâ]ÀâaÀâbÀâ¦ÀâÅÀãÀã:ÀãHÀãNÀã¢ÀãµÀãþÀä$Àä+Àä/Àä0ÀänÀä�ÀäàÀåÀå;ÀåIÀåOÀå¤Àå·ÀæÀæ(Àæ/Àæ3Àæ4ÀæsÀæ’ÀæåÀç2ÀçRÀç`ÀçfÀç¿ÀçÒÀè!ÀèGÀèNÀèRÀèSÀè{ÀèŽÀèèÀéÀé.Àé6Àé[ÀéqÀéyÀé“Àé™Àé�ÀéžÀéÊÀéäÀê>ÀêoÀê„ÀêŒÀê±ÀêÇÀêÏÀêïÀêõÀëÀë
Àë ÀëUÀëfÀëkÀë¯ÀìÀìCÀìmÀì¡ÀìÒÀí ÀíÀí'Àí-Àí>ÀíBÀíCÀíOÀítÀí�Àí¹ÀíåÀíæÀîÀî;ÀîWÀî¶ÀîßÀîöÀï$Àï(Àï)Àï5ÀïGÀï[ÀïuÀï¡ÀïÒÀïæÀð␍Àð4Àð8Àð9ÀðEÀð`Àð£ÀðæÀñ Àñ.Àñ4ÀñWÀñ|Àñ‚ÀñŸÀñ£Àñ¤Àñ°ÀñäÀò'ÀòjÀò�Àò­Àò³ÀòÖÀòöÀòüÀóÀó"Àó#ÀóMÀóNÀóšÀó›ÀóÑÀôÀô7Àô<Àô=Àô\ÀôqÀô•ÀôºÀôÞÀôåÀôéÀôêÀõÀõ0ÀõTÀõœÀõäÀõëÀõïÀõðÀöCÀö’ÀöèÀöéÀ÷6À÷<À÷�À÷ÝÀø*ÀøvÀøÂÀøÈÀøØÀøÞÀùÀùXÀù§ÀùÊÀùËÀùøÀùùÀú2ÀúKÀúxÀú�ÀúÁÀúñÀúþÀûÀûaÀûÅÀüÀübÀüoÀüŠÀüíÀýÀýÀý|Àý“Àý¶ÀýðÀþ'Àþ0Àþ6Àþ:Àþ;ÀþŠÀþ»ÀþÁÀÿÀÿÀÿ$ÀÿuÀÿ—ÀÿËÀÿúÀ␍ÀÀ6À7À}ÀÄÀðÀÀ!À"À3ÀBÀRÀÀÍÀ×ÀöÀúÀûÀCÀIÀYÀ_À§ÀÙÀ%ÀJÀ†À©ÀÀ À
ÀXÀhÀnÀ~À„ÀËÀÀ[À˜ÀÞÀýÀ7ÀZÀ‹ÀéÀ0ÀŒÀ�À´ÀÊÀÓÀÀ␍ÀMÀNÀ¯ÀÔÀóÀ À KÀ ŒÀ ¯À ÉÀ óÀ
À
*À
5À
XÀ
{À
œÀ
¿À À iÀ ·À èÀ À [À ~À ˜À ØÀ óÀ
À␍À␍À␍À␍KÀ␍�À␍”À␍•À␍¡À␍ÔÀ(À?ÀvÀ¸ÀàÀçÀ,ÀHÀ„ÀÀÀÜÀàÀáÀíÀ ÀtÀ‹ÀÏÀÀUÀ—À¿ÀÆÀ À'ÀgÀ§ÀÈÀÞÀâÀãÀAÀwÀ½À¾ÀÜÀÀ:ÀYÀsÀyÀŒÀÇÀïÀ
À&ÀAÀ…À À»ÀÑÀÙÀßÀ À␍ÀÀ8ÀaÀ–ÀÚÀÀÀ3ÀWÀ}ÀÔÀãÀ;ÀŸÀ§ÀÚÀàÀáÀ,À{À‹À¤ÀóÀAÀ�À×À.À4ÀTÀlÀrÀ¯ÀÀÀkÀ|À�À”À˜À™À¥À÷ÀøÀÀ7ÀeÀ�À�ÀºÀäÀíÀôÀÀÀÀ)ÀkÀŽÀÑÀÕÀÖÀâÀÀÀÀ)ÀwÀµÀ À XÀ ©À øÀ!<À!fÀ!†À!ÝÀ"À"ZÀ"fÀ"vÀ"�À"²À"ÚÀ"ïÀ"ýÀ#>À#DÀ#HÀ#IÀ#kÀ#™À#šÀ#¦À#æÀ$À$7À$XÀ$YÀ$uÀ$´À$ÔÀ$úÀ%À%À% À%␍À%-À%VÀ%WÀ%§À%óÀ&À&À&bÀ&cÀ&—À&�À&ëÀ'À'FÀ'yÀ'µÀ'¹À'ºÀ(À(QÀ(aÀ(gÀ(²À(ÜÀ) À)>À)BÀ)CÀ)sÀ)�À)«À)¯À)°À)þÀ*CÀ*SÀ*YÀ*¤À*ÉÀ*ÞÀ+À+À+À+/À+KÀ+\À+`À+aÀ+¯À,À,À,À,dÀ,�À,¨À,àÀ,äÀ,åÀ-3À-„À-”À-šÀ-æÀ.À.,À.dÀ.hÀ.iÀ.…À.¡À.¸À.¼À.½À.øÀ.þÀ/@À/ŽÀ/ÜÀ0+À01À0wÀ0¾À0ÓÀ1À1TÀ1XÀ1YÀ1™À1ŸÀ1ðÀ2À2À2¢À2ëÀ3À3À3LÀ3[À3ªÀ3«À3ÛÀ4#À4$À4LÀ4jÀ4ŒÀ4³À4ºÀ4»À4ãÀ4çÀ4èÀ5#À5eÀ5fÀ5¤À5ªÀ5éÀ6%À6hÀ6lÀ6mÀ6ÊÀ6ÐÀ7+À71À7{À7«À7±À7ðÀ8 À8&À86À8`À8gÀ8ŠÀ8ÓÀ8ýÀ9À9FÀ9uÀ9ŒÀ9ÛÀ:À:*À:QÀ:–À:—À:ªÀ:¿À;À;uÀ;šÀ;£À;°À;·À;»À;¼À;øÀ;þÀ<=À<}À< À<ÊÀ=À=JÀ=QÀ=”À=¹À=âÀ>$À>1À>’À>˜À>ÀÀ>ÄÀ>ÅÀ? À?"À?7À?pÀ?ÀÀ?ïÀ@À@iÀ@rÀ@xÀ@ÇÀ@ÞÀA)ÀA/ÀArÀA‘ÀA²ÀAÔÀBÀBDÀBhÀB“ÀB™ÀB»ÀB¼ÀC ÀCYÀC’ÀC™ÀCèÀD9ÀDNÀDmÀD¾ÀEÀE)ÀEJÀEpÀE²ÀEÖÀFÀF+ÀF†ÀF’ÀFñÀGÀG0ÀGXÀG¼ÀGÊÀH+ÀH7ÀH\ÀHÀH¢ÀHÇÀHØÀHàÀHæÀHçÀI1ÀI5ÀI6ÀI‚ÀI‡ÀIÖÀJ&ÀJmÀJ¤ÀJ¥ÀJßÀJúÀK!ÀK(ÀKuÀKÁÀKÎÀLÀLAÀLHÀLLÀLMÀLžÀL­ÀL²ÀMÀMLÀM–ÀMæÀMöÀMûÀNLÀN–ÀNäÀOÀORÀOWÀO£ÀOóÀP<ÀPWÀP~ÀPÁÀPçÀQ␍ÀQÀQUÀQYÀQZÀQwÀQxÀQÅÀQÊÀRÀR_ÀRqÀR“ÀR¸ÀR×ÀRøÀSJÀSmÀS�ÀS±ÀSÔÀSýÀT ÀT+ÀTBÀTvÀT�ÀT‡ÀT‹ÀTŒÀTÚÀTùÀU.ÀUkÀU¥ÀU¸ÀU×ÀV/ÀV>ÀV]ÀVµÀVÄÀVËÀVÏÀVÐÀVÜÀVéÀW)ÀWlÀW’ÀW¸ÀW¿ÀWÓÀWõÀXÀX3ÀX_ÀX‹ÀX–ÀXžÀXÖÀXùÀYÀYiÀYÆÀYÊÀYËÀY×ÀZ2ÀZuÀZ›ÀZÁÀZÈÀZÜÀZþÀ[À[<À[hÀ[”À[ŸÀ[§À[ßÀ\%À\)À\*À\6À\OÀ\ˆÀ\»À\×À\üÀ]!À](À]kÀ]‘À]·À]¾À]ÏÀ^À^@À^‚À^ À^¡À^ÄÀ^ãÀ_,À_eÀ_œÀ_ðÀ`À`9À`VÀ`ŒÀ`´À`½À`ÄÀ`ÅÀa ÀaaÀabÀa¤Àa¥ÀaÞÀbÀbÀbQÀb…Àb¿ÀbÃÀbÄÀcÀcfÀcªÀcÒÀcíÀdÀd2ÀdVÀdxÀd�ÀdËÀdÌÀe Àe~ÀeÜÀfÀf Àf
Àf]ÀfcÀfsÀfyÀfÈÀfÜÀg?ÀggÀg£ÀgÂÀg÷ÀhÀh?Àh}Àh›ÀhïÀiFÀiGÀilÀišÀi Ài¡ÀiÀÀj␍ÀjÀjÀj7ÀjqÀjwÀjxÀjÌÀkÀkIÀk¦ÀkÈÀlÀldÀl‡Àl�ÀlÂÀmÀm?Àm~ÀmÝÀnÀnÀnÀnMÀn’ÀnÔÀnöÀo ÀoÀoÀoTÀouÀo¾ÀoàÀoæÀp&ÀpFÀp�Àp³Àp¹ÀpºÀpáÀpâÀpýÀqÀqÀqNÀqkÀqqÀq�Àq‡ÀqÖÀqêÀrÀr'ÀrAÀrfÀr‚Àr‰Àr¹ÀrÞÀrüÀsÀsAÀsbÀs…Às©Às¯ÀsíÀt&ÀtCÀtyÀtÂÀuÀu]Àu‡Àu¿ÀuçÀvÀvÀvDÀvJÀv›ÀvŸÀv ÀwÀwHÀw|ÀwÐÀwùÀx'ÀxMÀxoÀx¢Àx­ÀxµÀx»ÀyÀy2ÀyYÀy»ÀyÂÀyÆÀyÇÀzÀzMÀzSÀz¤Àz½ÀzÃÀ{ À{À{cÀ{§À{­À{ùÀ|AÀ|…À|ÙÀ}%À}{À}¢À}®À}½À}ÒÀ}éÀ~À~ À~␍À~À~NÀ~ˆÀ~‰À~¼À~öÀ~üÀ~ýÀ=À}À~ÀÆÀ€À€3À€fÀ€lÀ€mÀ€¦À€ÙÀ€ÚÀ€ýÀ�0À�6À�:À�;À�ŽÀ��À�ªÀ�ÇÀ�ïÀ‚À‚À‚4À‚MÀ‚€À‚´À‚»À‚èÀƒ
Àƒ-Àƒ4Àƒ�Àƒ¢ÀƒÎÀƒçÀ„À„NÀ„WÀ„pÀ„ºÀ„ÏÀ„äÀ„íÀ…À…/À…{À…�À…¥À…®À…´À…¸À…¹À…ÅÀ†À†VÀ†dÀ†jÀ†œÀ† À†¡À†­À†äÀ‡À‡BÀ‡uÀ‡�À‡ŸÀ‡»À‡ÓÀ‡÷ÀˆÀˆ(Àˆ5ÀˆXÀˆÀˆ…ÀˆºÀˆìÀ‰<À‰BÀ‰FÀ‰GÀ‰™À‰šÀ‰¦À‰áÀ‰ýÀŠÀŠ(ÀŠBÀŠ]ÀŠ…ÀŠÄÀŠÊÀŠÎÀŠÏÀŠÛÀ‹ À‹KÀ‹ŠÀ‹âÀŒÀŒPÀŒ¨ÀŒíÀ�À�fÀ�mÀ�ÄÀŽÀŽ_ÀŽcÀŽdÀŽpÀŽ¢ÀŽÀÀŽØÀ�/À�6À�:À�<À�=À�rÀ�ÐÀ�ÑÀ�ÝÀ�À�À�+À�QÀ�RÀ�^À�€À��À�³À�ÖÀ‘À‘&À‘4À‘:À‘;À‘rÀ‘‹À‘ŒÀ‘ÃÀ‘ÛÀ‘áÀ‘âÀ‘öÀ’(À’UÀ’[À’_À’`À’lÀ’£À’ÓÀ’ïÀ“(À“UÀ“�À“´À“ºÀ“¾À“¿À“ËÀ“ðÀ” À”4À”8À”9À”EÀ”WÀ”…À”™À”�À”žÀ”ªÀ”·À•␍À•À•À•ZÀ•xÀ•|À•ËÀ–À–kÀ–¼À—␍À—4À—8À—zÀ—ÇÀ˜À˜WÀ˜{À˜À˜�À˜‘À˜âÀ™(À™oÀ™µÀšÀšFÀš”Àš½ÀšÃÀ› À›ZÀ›©À›éÀ›ïÀœ;Àœ€ÀœÐÀœÝÀ�À�À�NÀ�TÀ�¤À�òÀž=ÀžCÀž”ÀžãÀŸÀŸbÀŸdÀŸeÀŸ¡ÀŸïÀ À CÀ DÀ lÀ mÀ �À ·À ßÀ¡À¡À¡À¡:À¡QÀ¡UÀ¡VÀ¡ŽÀ¡®À¡ÜÀ¢À¢À¢À¢;À¢RÀ¢VÀ¢WÀ¢¡À¢§À¢æÀ£-À£rÀ£¨À£ÒÀ£àÀ£æÀ¤ À¤ À¤$À¤%À¤oÀ¤uÀ¤³À¤÷À¥9À¥mÀ¥–À¥¤À¥ªÀ¥ÌÀ¥ãÀ¥çÀ¥èÀ¥ôÀ¦<À¦kÀ¦”À¦ÓÀ¦áÀ¦çÀ¦èÀ§
À§KÀ§vÀ§•À§àÀ¨À¨>À¨HÀ¨ZÀ¨[À¨zÀ¨‘À¨�À¨³À¨ãÀ©7À©OÀ©XÀ©^À©bÀ©cÀ©oÀ©ªÀ©ÒÀ©æÀ©ìÀª ÀªLÀªRÀª†Àª¾ÀªúÀ«>À«~À«‚À«„À«…À«¹À«ÌÀ«ÍÀ«õÀ¬À¬1À¬QÀ¬_À¬eÀ¬À¬–À¬šÀ¬›À¬ÚÀ¬òÀ¬÷À­BÀ­_À­€À­�À­¥À­×À­ØÀ®À®À®7À®dÀ®rÀ®xÀ®yÀ®’À®©À®­À®®À®ÛÀ®ôÀ¯À¯:À¯HÀ¯NÀ¯iÀ¯€À¯„À¯…À¯±À¯×À¯úÀ°À°*À°0À°KÀ°bÀ°fÀ°gÀ°¥À°ÆÀ°òÀ±*À±8À±>À±?À±cÀ±À±˜À±žÀ±¢À±£À±ÚÀ±÷À²À²GÀ²UÀ²[À²|À²“À²—À²˜À²³À²ÆÀ²éÀ²ÿÀ³À³$À³uÀ³ŒÀ³´À³ÛÀ´+À´ƒÀ´•À´ŸÀ´§À´ÒÀ´÷ÀµÀµFÀµUÀµŸÀµÑÀµÙÀµßÀµãÀµäÀµðÀ¶8À¶|À¶}À¶¼À¶½À·
À·À·À·À·]À·^À·—À·±À·ÌÀ·ìÀ·üÀ¸BÀ¸]À¸“À¸”À¸²À¹À¹ À¹
À¹UÀ¹mÀ¹ÂÀ¹ÐÀ¹ÖÀ¹×À¹íÀº8ÀºpÀºwÀº{Àº|ÀºˆÀºÃÀºëÀºÿÀ»À»À»%À»?À»EÀ»qÀ»£À»ßÀ¼À¼CÀ¼wÀ¼½À¼ûÀ¼ÿÀ½À½À½HÀ½…À½†À½´À½µÀ½ÁÀ½íÀ¾)À¾NÀ¾TÀ¾XÀ¾YÀ¾eÀ¾”À¾ÐÀ¾øÀ¾þÀ¿À¿À¿À¿WÀ¿“À¿ÆÀ¿ÌÀ¿ÐÀ¿ÑÀ¿ÝÀÀÀÀ@ÀÀTÀÀZÀÀ•ÀÀÏÀÀâÀÀèÀÀéÀÁ@ÀÁ‹ÀÁÊÀÂÀÂ#ÀÂ+ÀÂ1ÀÂ2ÀÂDÀÂHÀÂJ0/// @docImport 'package:flutter/cupertino.dart';€à€ö€ü���_�b���¹�á‚
‚3‚F‚b‚w‚”‚ª‚Lj‡š‡›‡›
‡ ‡§‡§‡¬‡F‡Fq9/// Creates a description of a point in a text selection.ˆS‡»€�ˆS€†/// Coordinates of the lower left or lower right corner of the selection,
/// relative to the top left of the [RenderEditable] object.ˆ­ˆ]Yˆ­8/// Direction of the text at this edge of the selection.ŠˆŠ‰ŠˆŠˆ>ŠœˆØˆØ ˆßˆ»ˆ¼ˆ»ˆ»�ˆÕ‰Ð‰Ñ‰Ð‰Ð€´‰ã‡‡†m†m„[‡/€°/// Represents the coordinates of the point in a selection, and the text
/// direction at that point, relative to top left of the [RenderEditable] that
/// holds the selection.•¯•Ǖɕϕϕԕã•ã•è•ú•ú•ÿ––––0–0–5•¯•¯€š•È–T–M–T–j–f–j–‡–z!–‡–»– '–»–à–Ë–à–þ–ó–î–ó
šIšJš$šHš%š*š2šGš3š;š␍™Þmš␍——‚Ó˜N�//// Whether this [VerticalCaretMovementRun] can still continue.
///
/// A [VerticalCaretMovementRun] run is valid if the underlying text layout
/// hasn't changed.
///
/// The [current] value and the [movePrevious], [moveNext] and [moveByOffset]
/// methods must not be accessed when [isValid] is false.œÝœÞœÝœÝ`œúš‡š‡š‹šPšP‚‰šo�A�B�A�A�X�Rž�ž��¡Ÿ `/// Move back to the previous element.
///
/// Returns true and updates [current] if successful.¡9¡9␍¡@ B B‚�¡,€Ø/// Move forward or backward by a number of elements determined
/// by pixel [offset].
///
/// If [offset] is negative, move backward; otherwise move forward.
///
/// Returns true and updates [current] if successful.ŠÊŠÊ˜
•pŠŸ/// The consecutive sequence of [TextPosition]s that the caret should move to
/// when the user navigates the paragraph using the upward arrow key or the
/// downward arrow key.
///
/// {@template flutter.rendering.RenderEditable.verticalArrowKeyMovement}
/// When the user presses the upward arrow key or the downward arrow key, on
/// many platforms (macOS for instance), the caret will move to the previous
/// line or the next line, while maintaining its original horizontal location.
/// When it encounters a shorter line, the caret moves to the closest horizontal
/// location within that line, and restores the original horizontal location
/// when a long enough line is encountered.
///
/// Additionally, the caret will move to the beginning of the document if the
/// upward arrow key is pressed and the caret is already on the first line. If
/// the downward arrow key is pressed next, the caret will restore its original
/// horizontal location and move to the second line. Similarly the caret moves
/// to the end of the document if the downward arrow key is pressed when it's
/// already on the last line.
///
/// Consider a left-aligned paragraph:
/// aa|
/// a
/// aaa
/// where the caret was initially placed at the end of the first line. Pressing
/// the downward arrow key once will move the caret to the end of the second
/// line, and twice the arrow key moves to the third line after the second "a"
/// on that line. Pressing the downward arrow key again, the caret will move to
/// the end of the third line (the end of the document). Pressing the upward
/// arrow key in this state will result in the caret moving to the end of the
/// second line.
///
/// Vertical caret runs are typically interrupted when the layout of the text
/// changes (including when the text itself changes), or when the selection is
/// changed by other input events or programmatically (for example, when the
/// user pressed the left arrow key).
/// {@endtemplate}
///
/// The [movePrevious] method moves the caret location (which is
/// [VerticalCaretMovementRun.current]) to the previous line, and in case
/// the caret is already on the first line, the method does nothing and returns
/// false. Similarly the [moveNext] method moves the caret to the next line, and
/// returns false if the caret is already on the last line.
///
/// The [moveByOffset] method takes a pixel offset from the current position to move
/// the caret up or down.
///
/// If the underlying paragraph's layout changes, [isValid] becomes false and
/// the [VerticalCaretMovementRun] must not be used. The [isValid] property must
/// be checked before calling [movePrevious], [moveNext] and [moveByOffset],
/// or accessing [current].©À©Î+©Õ©Õ©á©ë©ë$ªªª%ªª@ª@ªGªXªXª_ªzªzª�ªŸªŸª¥ª³ª³'ªÆªàªà%ªó« « ««"«"␍«'«5«5«:«O«O«[«k«k«r«†«†€ÿ¬p¬‹¬‹,¬–¬½¬½¬Ì¬Û¬Û¬ó¬ÿ¬ÿ­­­­$­:­:­?­U­U&­i­�­�5­�­¼­¼­Ã­á­á­æ­ÿ­ÿ®®®®®1®1®9®K®K®S®e®e!®j®Œ®Œ!®“®³®³®º®Ö®Ö>®è¯¯;¯+¯[¯[ ¯a¯�¯�F¯†¯Í¯Í¯Ø¯í¯í¯ô° ° !°°0°0#°>°Y°Y°p°}°}(°”°«°«°¼�ª+ª4ª5««D«†«‡«‘¬c«™«º¬)¬‚¬£¬­¬®­­/­K­¡­¯­°­Ø­ô®(®�®¢®¨®©®Í®ÿ¯¯¯¯¯A¯C¯D¯Q¯R¯¢¯¨¯²¯³¯»¯Æ¯¼¯¿¯Â¯Å°°!°"°Í°Ó°ô°å°Ý°Ô°à°ñ°è°ó°þ±±%±±±±±"±±$±/±5±‚±¿±i±S±@±Q±J±A±M±V±g±`±W±c±l±�±v±m±y±�±É±Ï² ²Z±ã±Ú±Û±æ² ±ø±ð±ç±ó²±û²²²d²j²º³#²¡²u²~²Ÿ²²‹²•²–²´²¤²·²Å³-³3³]³Y³4³F³G³Q³R³\³g³m³€³z³n³}³Š³�³¼³¦³ž³‘³¡³¶³©³¹³Ó³Æ³Õ³àµŠ³ï³ë³ñ´ ´´ ´,´´.´P´F´‚´´´]´R´`´j´k´„´Ž´�´•´¥´–´¶´Ñ´Ë´Ó´ì´ä´üµ´÷´î´ú´þµµµµµDµ2µFµqµcµsµ µ”µ­µ¢µ°µ½µÂµ¾µÃµÉµÄµÝµÓµßµúµðµü¶¶␍¶¶3¶(¶5¶O¶G¶Q¶m¶`¶o¶‘¶ƒ¶“¶º¶¨¶¼¶õ¶Ù¶÷·,··.·]·G·_·�·|·’·Á·­·Ã·ë·Þ·í¸ ¸¸␍¸)¸¸+¸K¸=¸M¸l¸b¸w¸n¸z¸›¸ˆ¸¨¸�¸«§�§�”‚/// Creates a render object that implements the visual aspects of a text field.
///
/// The [textAlign] argument defaults to [TextAlign.start].
///
/// If [showCursor] is not specified, then it defaults to hiding the cursor.
///
/// The [maxLines] property can be set to null to remove the restriction on
/// the number of lines. By default, it is 1, meaning this is a single-line
/// text field. If it is not null, it must be greater than zero.
///
/// Use [ViewportOffset.zero] for the [offset] if there is no need for
/// scrolling.<»Ñ»šN»Ñ/// Child render objects¼»ì3¼ÀC%ÀC)ÀC%ÀGÚÀGÃÀGÚÀHüÀI ÀI
ÀHìÀHÓ8ÀHìÀI^ÀIsÀItÀIJÀI.GÀIJÀI´ÀIÉÀIÊÀI•ÀIyRÀI•ÀJ„ÀJcAÀJ„ÀLÀKî7ÀLÀO?ÀMC‚ ÀO?�à/// Whether the [handleEvent] will propagate pointer events to selection
/// handlers.
///
/// If this property is true, the [handleEvent] assumes that this renderer
/// will be notified of input gestures via [handleTapDown], [handleTap],
/// [handleDoubleTap], and [handleLongPress].
///
/// If there are any gesture recognizers in the text span, the [handleEvent]
/// will still propagate pointer events to those recognizers.
///
/// The default value of this property is false.ÀR€ÀRyÀR€ÀSàÀSÙÀSàÀU3ÀU.ÀU3ÀY½ÀXŸ�3ÀY½€ý/// The object that controls the text selection, used by this render object
/// for implementing cut, copy, and paste keyboard shortcuts.
///
/// It will make cut, copy and paste functionality work with the most recently
/// set [TextSelectionDelegate].À\rÀ\À\„À\€À\…À\ŠÀ\†À\VÀ\<OÀ\VÀ_'À_4À_9À_5À_:À_?À_;À_␍À^óMÀ_␍Àu‰ÀuwÀu‰Àu«Àu™(Àu«ÀuëÀuÅCÀuëÀw=Àw0!Àw=À…{À…vÀ…{À…þÀ…êÀ…þÀˆVÀˆJÀˆEÀˆJÀ‰uÀ‰hÀ‰cÀ‰hÀŠhÀŠ\ÀŠWÀŠ\À�À�À�À�jÀ�eÀ�jÀ�ÍÀ�È␍À�ÍÀ—ÂÀ—³À—ÂÀšÀ™öÀšÀ›‡À›xÀ›qÀ›xÀžÀžÀžÀ À À À¦;À¦1À¦;À¨À¨␍À¨ÀªÀ¨Ò�bÀª�+/// The padding applied to text field. Used to determine the bounds when
/// moving the floating cursor.
///
/// Defaults to a padding with left, top and right set to 4, bottom to 5.
///
/// See also:
///
/// * [FloatingCursorDragState], which explains the floating cursor feature
/// in detail.ÀªËÀª·Àª²Àª·ÀªæÀªÔ-ÀªæÀ­ÔÀ­Î!À­ÔÀ¸¼À¸©À¸¢À¸©À¹˜À¹œÀ¹�À¹ˆÀ¹ƒ"À¹ˆÀºÔÀºN€”ÀºÔ[/// Collected during [describeSemanticsConfiguration], used by
/// [assembleSemanticsNode].À¼À»ë*À¼ÀÅÀÀÀÅÀ#eÀ#KÀ#eÀ#�À#m*À#�À%À%À%À%7À%/%À%7ÀJŒÀJo3ÀJŒÀQfÀQ\ÀQfÀcÅÀcËÀcÌÀc³Àc¬$Àc³ÀcÜÀcÔÀcÜÀd ÀcôÀcïÀcôÀd+ÀdÀdÀdÀdOÀd9Àd4 Àd9ÀdqÀd]ÀdXÀd]Àd–ÀdÀdz!ÀdÀd§ÀdŸ*Àd§À�rÀ�}À�‰À�~À�ŠÀ�‹À�\À�=OÀ�\À‰{À‰†À‰”À‰‡À‰•À‰–À‰jÀ‰INÀ‰j8ÀA�ÀA��nÀBã�/// The [RenderEditablePainter] to use for painting above this
/// [RenderEditable]'s text content.
///
/// The new [RenderEditablePainter] will replace the previously specified
/// foreground painter, and schedule a repaint if the new painter's
/// `shouldRepaint` method returns true.ÀFjÀFj�VÀG¬�/// Sets the [RenderEditablePainter] to use for painting beneath this
/// [RenderEditable]'s text content.
///
/// The new [RenderEditablePainter] will replace the previously specified
/// painter, and schedule a repaint if the new painter's `shouldRepaint`
/// method returns true.ÀIÐÀIЀ�ÀIôÀKyÀKyrÀK�ÀOQÀOQxÀO“'/// {@macro dart.ui.textHeightBehavior}ÀP“ÀP“|ÀPá8/// {@macro flutter.painting.textPainter.textWidthBasis}ÀQÈÀQÈ€®ÀRPv/// The pixel ratio of the current device.
///
/// Should be obtained by querying MediaQuery for the devicePixelRatio.ÀS0ÀS0€¦ÀS¬j/// Character used for obscuring text if [obscureText] is true.
///
/// Must have a length of exactly one.ÀTÃÀTÃhÀU@/// Whether to hide the text being edited (e.g., for passwords).ÀUúÀUú€äÀVŸ€ˆ/// Controls how tall the selection highlight boxes are computed to be.
///
/// See [ui.BoxHeightStyle] for details on available styles.ÀWPÀWP€àÀWó€‡/// Controls how wide the selection highlight boxes are computed to be.
///
/// See [ui.BoxWidthStyle] for details on available styles.ÀY×ÀYׂbÀ\�ý/// Track whether position of the start of the selected text is within the viewport.
///
/// For example, if the text contains "Hello World", and the user selects
/// "Hello", then scrolls so only "World" is visible, this will become false.
/// If the user scrolls back so that the "H" is visible again, this will
/// become true.
///
/// This bool indicates whether the text is scrolled so that the handle is
/// inside the text field viewport, as opposed to whether it is actually
/// visible on the screen.À\�À\�‚`À^¾�ÿ/// Track whether position of the end of the selected text is within the viewport.
///
/// For example, if the text contains "Hello World", and the user selects
/// "World", then scrolls so only "Hello" is visible, this will become
/// 'false'. If the user scrolls back so that the "d" is visible again, this
/// will become 'true'.
///
/// This bool indicates whether the text is scrolled so that the handle is
/// inside the text field viewport, as opposed to whether it is actually
/// visible on the screen.ÀsŒÀsŒ�.Àt–€ô/// Returns a plain text version of the text in [TextPainter].
///
/// If [obscureText] is true, returns the obscured text. See
/// [obscureText] and [obscuringCharacter].
/// In order to get the styled text as an [InlineSpan] tree, use [text].Àt¾Àt¾€¶ÀuZ€…/// The text to paint in the form of a tree of [InlineSpan]s.
///
/// In order to get the plain text representation, use [plainText].ÀwUÀwU‚ÀweÀyuÀyueÀy¶0/// How the text should be aligned horizontally.ÀzÀzƒWÀ}©‚3/// The directionality of the text.
///
/// This decides how the [TextAlign.start], [TextAlign.end], and
/// [TextAlign.justify] values of [textAlign] are interpreted.
///
/// This is also used to disambiguate how to render bidirectional text. For
/// example, if the [text] is an English phrase followed by a Hebrew phrase,
/// in a [TextDirection.ltr] context the English phrase will be on the left
/// and the Hebrew phrase to its right, while in a [TextDirection.rtl]
/// context, the English phrase will be on the right and the Hebrew phrase on
/// its left.À~«À~«‚
À€—�Í/// Used by this renderer's internal [TextPainter] to select a locale-specific
/// font.
///
/// In some cases the same Unicode character may be rendered differently depending
/// on the locale. For example the '骨' character is rendered differently in
/// the Chinese and Japanese locales. In these cases the [locale] may be used
/// to select a locale-specific font.
///
/// If this value is null, a system-dependent algorithm is used to select
/// the font.À�OÀ�O€ À�Ée/// The [StrutStyle] used by the renderer's internal [TextPainter] to
/// determine the strut to use.À‚™À‚™dÀ‚Õ./// The color to use when painting the cursor.ÀƒMÀƒM�ÄÀ„Ô�e/// The color to use when painting the cursor aligned to the text while
/// rendering the floating cursor.
///
/// Typically this would be set to [CupertinoColors.inactiveGray].
///
/// If this is null, the background cursor is not painted.
///
/// See also:
///
/// * [FloatingCursorDragState], which explains the floating cursor feature
/// in detail.À…’À…’UÀ…Í /// Whether to paint the cursor.À‡òÀ‡òPÀˆ,./// Whether the editable is currently focused.ÀˆêÀˆêvÀ‰HR/// Whether this rendering object will take a full line regardless the text width.ÀŠÀŠQÀŠ>//// Whether this rendering object is read only.ÀŠüÀŠü‚ÀŒè�Î/// The maximum number of lines for the text to span, wrapping if necessary.
///
/// If this is 1 (the default), the text will not wrap, but will extend
/// indefinitely instead.
///
/// If this is null, there is no limit to the number of lines.
///
/// When this is not null, the intrinsic height of the render object is the
/// height of one line of text multiplied by this value. In other words, this
/// also controls the height of the actual editing widget.À�À�TÀ�L2/// {@macro flutter.widgets.editableText.minLines}À�tÀ�tQÀ�±1/// {@macro flutter.widgets.editableText.expands}À‘WÀ‘WrÀ‘–1/// The color to use when painting the selection.À“:À“;À“EÀ”À“KÀ“jÀ“×À’$À’$‚*À”�/// Deprecated. Will be removed in a future version of Flutter. Use
/// [textScaler] instead.
///
/// The number of font pixels for each logical pixel.
///
/// For example, if the text scale factor is 1.5, text will be 50% larger than
/// the specified font size.À•€À•€lÀ•Æ4/// {@macro flutter.painting.textPainter.textScaler}À–•À–•�À—˜€ã/// The region of text that is selected, if any.
///
/// The caret position is represented by a collapsed selection.
///
/// If [selection] is null, there is no selection and attempts to
/// manipulate the selection will throw.À˜®À˜®�EÀ™á�/// The offset at which the text should be painted.
///
/// If the text content is larger than the editable line itself, the editable
/// line clips the text. This property controls which part of the text is
/// visible by shifting the text by the given offset before clipping.À›#À›#KÀ›R!/// How thick the cursor will be.ÀœÀœ�âÀ�È�)/// How tall the cursor will be.
///
/// This can be null, in which case the getter will actually return [preferredLineHeight].
///
/// Setting this to itself fixes the value to the current [preferredLineHeight]. Setting
/// this to null returns the behavior of deferring to [preferredLineHeight].ÀžªÀžª�UÀŸÕ�/// {@template flutter.rendering.RenderEditable.paintCursorAboveText}
/// If the cursor should be painted on top of the text or underneath it.
///
/// By default, the cursor should be painted on top for iOS platforms and
/// underneath for Android platforms.
/// {@endtemplate}À¡ÉÀ¡É‚À££�¾/// {@template flutter.rendering.RenderEditable.cursorOffset}
/// The offset that is used, in pixels, when painting the cursor on screen.
///
/// By default, the cursor position should be set to an offset of
/// (-[cursorWidth] * 0.5, 0.0) on iOS platforms and (0, 0) on Android
/// platforms. The origin from where the offset is applied to is the arbitrary
/// location where the cursor ends up being rendered from by default.
/// {@endtemplate}À¤!À¤!€¥À¤›g/// How rounded the corners of the cursor should be.
///
/// A null value is the same as [Radius.zero].À¥À¥�À¦€Ï/// The [LayerLink] of start selection handle.
///
/// [RenderEditable] is responsible for calculating the [Offset] of this
/// [LayerLink], which will be used as [CompositedTransformTarget] of start handle.À¦þÀ¦þ� À§à€Ë/// The [LayerLink] of end selection handle.
///
/// [RenderEditable] is responsible for calculating the [Offset] of this
/// [LayerLink], which will be used as [CompositedTransformTarget] of end handle.Àª9Àª9vÀª‰D/// Returns true if the floating cursor is visible, false otherwise.À«À«‚ÅÀ­‘‚f/// Whether to allow the user to change the selection.
///
/// Since [RenderEditable] does not handle selection manipulation
/// itself, this actually only affects whether the accessibility
/// hints provided to the system (via
/// [describeSemanticsConfiguration]) will enable selection
/// manipulation. It's the responsibility of this object's owner
/// to provide selection manipulation affordances.
///
/// This field is used by [selectionEnabled] (which then controls
/// the accessibility hints mentioned above). When null,
/// [obscureText] is used to determine the value of
/// [selectionEnabled] instead.À®ÌÀ®Ì„nÀ²íƒï/// Whether interactive selection are enabled based on the values of
/// [enableInteractiveSelection] and [obscureText].
///
/// Since [RenderEditable] does not handle selection manipulation
/// itself, this actually only affects whether the accessibility
/// hints provided to the system (via
/// [describeSemanticsConfiguration]) will enable selection
/// manipulation. It's the responsibility of this object's owner
/// to provide selection manipulation affordances.
///
/// By default, [enableInteractiveSelection] is null, [obscureText] is false,
/// and this getter returns true.
///
/// If [enableInteractiveSelection] is null and [obscureText] is true, then this
/// getter returns false. This is the common case for password fields.
///
/// If [enableInteractiveSelection] is non-null then its value is
/// returned. An application might [enableInteractiveSelection] to
/// true to enable interactive selection for a password field, or to
/// false to unconditionally disable interactive selection.À³>À³>�ÀÀ´¿€‚/// The color used to paint the prompt rectangle.
///
/// The prompt rectangle will only be requested on non-web iOS applications.À·�À·��À¸{€ä/// The maximum amount the text is allowed to scroll.
///
/// This value is only valid after layout and can change as additional
/// text is entered or removed in order to accommodate expanding when
/// [expands] is set to true.À¸ÂÀ¸Â4À¸ÍÀ¸úÀ¸ú€†À¹bX/// {@macro flutter.material.Material.clipBehavior}
///
/// Defaults to [Clip.hardEdge].Àó%Àó%'Àó.ÀóPÀóPIÀóYÀó�Àó�€žÀó¨Àô?Àô?€©ÀôJÀö”Àö”SÀö�ÀåÀå€×À„€�/// An estimate of the height of a line in the text. See [TextPainter.preferredLineHeight].
/// This does not require the layout to be updated.À%YÀ%Y�À&#€µ/// {@template flutter.rendering.RenderEditable.lastSecondaryTapDownPosition}
/// The position of the most recent secondary tap down event on this text
/// input.
/// {@endtemplate}À4êÀ4êzÀ568/// {@macro flutter.painting.TextPainter.wordBoundaries}&ÀCQÀCQ!ÀChÀC;ÀC;€¨ÀC?ÀGòÀGò!ÀH ÀGæÀG怊ÀGêÀOãÀOãÀO÷ÀOÌÀOÌ€ÃÀOÐÀQ%ÀQ%ÀQ4ÀQÀQ€²ÀQÀRªÀRª ÀR±ÀR•ÀR•€—ÀR™ÀTÀT ÀTÀS÷ÀS÷€ÈÀSûÀUSÀUS
ÀUXÀUCÀUC€³ÀUGÀVúÀVúÀW ÀVáÀVákÀVåÀXKÀXKÀX\ÀX3ÀX3hÀX7ÀvÀvÀv!Àv Àv � ÀvÀyëÀyëÀyõÀyÝÀyÝ€žÀyáÀ}ëÀ}ëÀ}ùÀ}ÙÀ}Ù€ÎÀ}ÝÀ€ÃÀ€Ã␍À€ËÀ€¸À€¸€“À€¼À‚À‚À‚␍À�òÀ�ò€£À�öÀƒÀƒ ÀƒÀƒÀƒIÀƒÀ….À…. À…5À…À…^À…À†À†À†0À†␍À†␍��À†ÀˆlÀˆl
ÀˆqÀˆ_Àˆ_€‡ÀˆcÀ‰ŒÀ‰Œ
À‰‘À‰~À‰~€�À‰‚ÀŠ~ÀŠ~
ÀŠƒÀŠqÀŠq€‡ÀŠuÀ�tÀ�t
À�yÀ�À��öÀ�kP/// The value may be null. If it is not null, then it must be greater than zero.À�ØÀ�Ø
À�ÝÀ�xÀ�x€øÀ�ÏP/// The value may be null. If it is not null, then it must be greater than zero.À�åÀ�å
À�êÀ�ÙÀ�ÙzÀ�ÝÀ‘ßÀ‘ß À‘æÀ‘ÌÀ‘ÌTÀ‘ÐÀ•>À•> À•EÀ”QÀ”RÀ”\À•&À”bÀ”�À”îÀ”QÀ”Q�+À•.À•þÀ•þÀ– À•ïÀ•À•óÀ—ÞÀ—ÞÀ—íÀ—ÐÀ—ЀÚÀ—ÔÀšÀšÀš*ÀšÀš�ÀšÀ›žÀ›ž À›¥À›ŽÀ›Ž€‰À›’Àž*Àž*␍Àž2ÀžÀž€�ÀžÀ 5À 5
À :À À �©À  À£âÀ£â À£éÀ£ÑÀ£ÑLÀ£ÕÀ¤ÚÀ¤Ú␍À¤âÀ¤ÉÀ¤ÉMÀ¤ÍÀ¦mÀ¦mÀ¦wÀ¦TÀ¦T€¦À¦XÀ¨EÀ¨EÀ¨OÀ¨.À¨.€ À¨2À®À® À®À­óÀ­ó€ÕÀ­÷ÀµÀµÀµÀµÀµfÀµÀ¹ºÀ¹º
À¹¿À¹©À¹©€¡À¹­R¼$¼%¼$¼$‚ʼ5¿¿!¿'¾ò¾ò‚§¾÷ÀCûÀCû!ÀDÀCçÀCç‚ÀCìÀJ¨ÀJ¨€ÍÀJÈÀL)ÀL)�ÀLIÀ_«À_«À_¸À_ÂÀ_ÂÀ_ÉÀ_EÀ_E��À_’=/// Returns the TextPosition above or below the given offset.ÀaaÀaaÀanÀa7Àa8À`õÀ`õ�ÊÀaQ?/// {@macro flutter.services.TextLayoutMetrics.getLineAtOffset}Àc%Àc%Àc2ÀbÿÀcÀbÃÀbÀ±Àc9/// {@macro flutter.painting.TextPainter.getWordBoundary}ÀcíÀcíÀcúÀc¿ÀcÀÀcxÀcx‚+ÀcØD/// {@macro flutter.services.TextLayoutMetrics.getTextPositionAbove}ÀfÀfÀf)ÀeîÀeïÀe§Àe§‚*ÀfD/// {@macro flutter.services.TextLayoutMetrics.getTextPositionBelow}ÀhÀhÀh ÀgòÀgò…gÀg÷ÀmwÀmwÀmˆÀm’Àm’Àm¨Àm]Àm]€žÀmbÀnÀnÀn Àn/Àn/ÀnEÀmÿÀmÿ„%ÀnÀr(Àr)Àr(Àr(€éÀr9ÀsÀsÀsÀssÀs&À‡ À‡ NÀ‡¥À·%À·%À·0ÀµkÀµk‚À·�D/// Dismisses the currently displayed prompt rectangle and displays a new prompt rectangle
/// over [newRange] in the given color [promptRectColor].
///
/// The prompt rectangle will only be requested on non-web iOS applications.
///
/// When set to null, the currently displayed prompt rectangle (if any) will be dismissed.À½AÀ½AÀ½OÀ¼À¼ƒWÀ½,€ù/// Returns a list of rects that bound the given selection, and the text
/// direction. The text direction is used by the engine to calculate
/// the closest position to a given point.
///
/// See [TextPainter.getBoxesForSelection] for more details.À¿¥À¿¥À¿¼À¿uÀ¿vÀ¿uÀ¿uŒ?À¿†ÀËÌÀËÌ ÀËÓÀ˸À˸€ÿÀ˽ÀÌçÀÌçÀÌõÀÌÿÀÌÿÀÍÀÍ"ÀÍ" ÀÍ:ÀÌ»À̼ÀÌ»ÀÌ»‘ÒÀÌÌÀÞ¶ÀÞ¶ÀÞºÀÞ‘ÀÞ‘€¼ÀÞŸÀà8Àà8ÀàFÀàÀàuÀà$ÀàÁÀàÁÀàÆÀà˜Àà˜�ÈÀà�ÀâŽÀâŽÀâ“ÀâdÀâd�ÊÀâiÀäVÀäVÀä[Àä2Àä2‚Àä7Àæ[Àæ[Àæ`Àæ6Àæ6‚Àæ;ÀèmÀèm
ÀèqÀèUÀèU�GÀè`Àé¼Àé¼
ÀéÀÀé Àé �iÀé«ÀìZÀìZÀìdÀìEÀìE€üÀìJÀí]Àí]ÀíkÀíEÀíFÀíEÀíE�âÀíVÀï+Àï,Àï+Àï+� Àï<Àð;Àð<Àð;Àð;�gÀðLÀñÅÀñÅÀñÙÀñ¦Àñ§Àñ¦Àñ¦�{Àñ·ÀõÀõÀõ ÀôìÀôì�ÀôóÀùŒÀùŒÀùšÀöëÀöë‡NÀùs‚V/// Returns the local coordinates of the endpoints of the given selection.
///
/// If the selection is collapsed (and therefore occupies a single point), the
/// returned list is of length one. Otherwise, the selection is not collapsed
/// and the returned list is of length two. In this case, however, the two
/// points might actually be co-located (e.g., because of a bidirectional
/// selection that contains some text but whose ends meet in the middle).
///
/// See also:
///
/// * [getLocalRectForCaret], which is the equivalent but for
/// a [TextPosition] rather than a [TextSelection].Àÿ¸Àÿ¸ÀÿÂÀþ=Àþ=ƒ¼ÀÿŸ�K/// Returns the smallest [Rect], in the local coordinate system, that covers
/// the text within the [TextRange] specified.
///
/// This method is used to calculate the approximate position of the IME bar
/// on iOS.
///
/// Returns null if [TextRange.isValid] is false for the given `range`, or the
/// given `range` is collapsed.ÀmÀmÀtÀýÀý‚ ÀY�>/// Returns the position in the text for the given global coordinate.
///
/// See also:
///
/// * [getLocalRectForCaret], which is the reverse operation, taking
/// a [TextPosition] and returning a [Rect].
/// * [TextPainter.getPositionForOffset], which is the equivalent method
/// for a [TextPainter] object.ÀÀÀ&À À ‰‡À�Ü/// Returns the [Rect] in local coordinates for the caret at the given text
/// position.
///
/// See also:
///
/// * [getPositionForPoint], which is the reverse operation, taking
/// an [Offset] in global coordinates and returning a [TextPosition].
/// * [getEndpointsForSelection], which is the equivalent but for
/// a selection rather than a particular text position.
/// * [TextPainter.getOffsetForCaret], the equivalent method for a
/// [TextPainter] object.À␍ÃÀ␍Ã␍À␍ÊÀ␍—À␍˜À␍—À␍—‚HÀ␍ªÀÀ␍ÀÀãÀäÀãÀã‚þÀöÀ÷À÷ ÀþÀÞÀÞ‚.ÀâÀ(À( À/ÀÀ†‡ÀÀÈÀÈ ÀÏÀ›ÀœÀ›À›[À®À'À' À.ÀúÀûÀúÀú�!À␍ÀRÀRÀ_ÀÀ ÀÀ€µÀ2ÀõÀõÀüÀØÀÙÀØÀØ6ÀéÀ@À@ÀQÀZÀZÀjÀÀÀÀÀÀ„5À0À#¹À#¹À#ÆÀ#ÍÀ#ÍÀ#ÝÀ#œÀ#�À#œÀ#œ�oÀ#­À',À',À';À&eÀ&e�SÀ'€¢/// Tracks the position of a secondary tap event.
///
/// Should be called before attempting to change the selection based on the
/// position of a secondary tap.À(ñÀ(ñÀ)À'¼À'¼�…À(ã�/// If [ignorePointer] is false (the default) then this method is called by
/// the internal gesture recognizer's [TapGestureRecognizer.onTapDown]
/// callback.
///
/// When [ignorePointer] is true, an ancestor widget must respond to tap
/// down events by calling this method.À)YÀ)YÀ)hÀ)EÀ)EiÀ)JÀ)²À)²�eÀ*Ð� /// If [ignorePointer] is false (the default) then this method is called by
/// the internal gesture recognizer's [TapGestureRecognizer.onTap]
/// callback.
///
/// When [ignorePointer] is true, an ancestor widget must respond to tap
/// events by calling this method.À+À+DÀ+ À+cÀ+c�€À,”�/// If [ignorePointer] is false (the default) then this method is called by
/// the internal gesture recognizer's [DoubleTapGestureRecognizer.onDoubleTap]
/// callback.
///
/// When [ignorePointer] is true, an ancestor widget must respond to double
/// tap events by calling this method.À,çÀ,ç�€À.�/// If [ignorePointer] is false (the default) then this method is called by
/// the internal gesture recognizer's [LongPressGestureRecognizer.onLongPress]
/// callback.
///
/// When [ignorePointer] is true, an ancestor widget must respond to long
/// press events by calling this method.À.kÀ.kPÀ.pÀ0êÀ0ê$À1 À.¿À.¿‚˜À0Ú‚/// Move selection to the location of the last tap down.
///
/// {@template flutter.rendering.RenderEditable.selectPosition}
/// This method is mainly used to translate user inputs in global positions
/// into a [TextSelection]. When used in conjunction with a [EditableText],
/// the selection change is fed back into [TextEditingController.selection].
///
/// If you have a [TextEditingController], it's generally easier to
/// programmatically manipulate its `value` or `selection` directly.
/// {@endtemplate}À24À24À2DÀ2JÀ2J
À2RÀ2VÀ2V$À2uÀ1[À1[ƒ‹À2"€¹/// Select text between the global positions [from] and [to].
///
/// [from] corresponds to the [TextSelection.baseOffset], and [to] corresponds
/// to the [TextSelection.extentOffset].À5üÀ5ü$À6À5hÀ5h�À5ð|/// Select a word around the location of the last tap down.
///
/// {@macro flutter.rendering.RenderEditable.selectPosition}À8À8À8 À8*À8*
À82À8:À8:$À8YÀ6oÀ6o…KÀ7÷�r/// Selects the set words of a paragraph that intersect a given range of global positions.
///
/// The set of words selected are not strictly bounded by the range of global positions.
///
/// The first and last endpoints of the selection will always be at the
/// beginning and end of a word respectively.
///
/// {@macro flutter.rendering.RenderEditable.selectPosition}À<TÀ<T$À<sÀ;¾À;¾ƒÀ<Dz/// Move the selection to the beginning or end of a word.
///
/// {@macro flutter.rendering.RenderEditable.selectPosition}À?WÀ?WÀ?dÀ?$À?%À>ÇÀ>ÇŠmÀ?GX/// Returns a [TextSelection] that encompasses the word at the given
/// [TextPosition].ÀJãÀJãÀJêÀJþÀJþ!ÀKÀJõÀKÀKÀKÀJ§ÀJ§�¤ÀJÊÀPYÀPY€ÿÀP^ÀQÌÀQÌ‚¾ÀRx€ /// On iOS, the cursor is taller than the cursor on Android. The height
/// of the cursor for iOS is approximate and obtained through an eyeball
/// comparison.ÀUÀUÀUÀTûÀTû�ÓÀUÀWÀW$ÀWÀVÒÀVÓÀVÞÀVßÀVÒÀVÒ‚÷ÀVðÀYóÀYó$ÀZ ÀZÀZÀZ&ÀYÍÀYÎÀYÍÀYÍ‚[ÀYàÀ\,À\-À\,À\,†–À\=ÀdûÀdû␍ÀeÀe
Àe
ÀeÀdÎÀdÎ�:ÀdÜÀg
Àg
ÀgÀg#Àg#Àg)Àf Àf ŠôÀfå€Å/// Returns the position within the text field closest to the raw cursor offset.
///
/// See also:
///
/// * [FloatingCursorDragState], which explains the floating cursor feature
/// in detail.ÀrÀrÀr Àr+Àr+Àr2ÀrEÀrEÀrRÀrjÀrjÀrrÀqÀq…šÀqñ€Ù/// Sets the screen position of the floating cursor and the text position
/// closest to the cursor.
///
/// See also:
///
/// * [FloatingCursorDragState], which explains the floating cursor feature
/// in detail.ÀvÇÀvÇÀvÔÀvãÀvãÀvøÀv¢Àv¢ƒ#Àv¸À|»À|»À|ÈÀyÉÀyÉ„CÀ| ‚¡/// Starts a [VerticalCaretMovementRun] at the given location in the text, for
/// handling consecutive vertical caret movements.
///
/// This can be used to handle consecutive upward/downward arrow key movements
/// in an input field.
///
/// {@macro flutter.rendering.RenderEditable.verticalArrowKeyMovement}
///
/// The [VerticalCaretMovementRun.isValid] property indicates whether the text
/// layout has changed and the vertical caret run is invalidated.
///
/// The caller should typically discard a [VerticalCaretMovementRun] when
/// its [VerticalCaretMovementRun.isValid] becomes false, or on other
/// occasions where the vertical caret run should be interrupted.À~$À~$À~4À~=À~=␍À~DÀ~À~ƒ)À~À�®À�®À�¾À�ËÀ�Ë"À�äÀ�óÀ�ó␍À�úÀ�‘À�‘„&À�–À…àÀ…àÀ…êÀ…ñÀ…ñÀ…ùÀ…»À…¼À…»À…»€äÀ…ÌÀ†ºÀ†ºÀ†ÊÀ†ÓÀ†Ó␍À†ÚÀ†£À†¤À†£À†£‚¢À†´À‰ËÀ‰ËÀ‰ØÀ‰œÀ‰�À‰œÀ‰œ�1À‰®ÀŠöÀŠö&À‹ÀŠÑÀŠÒÀŠÑÀŠÑƒ‘ÀŠâÀŽfÀŽgÀŽfÀŽf€ÓÀŽˆ¢Ö¢ÖÀle¦¨ƒË/// Displays some text in a scrollable container with a potentially blinking
/// cursor and with gesture recognizers.
///
/// This is the renderer for an editable text field. It does not directly
/// provide affordances for editing the text, but it does handle text selection
/// and manipulation of the text cursor.
///
/// The [text] is displayed, scrolled by the given [offset], aligned according
/// to [textAlign]. The [maxLines] property controls whether the text displays
/// on one line or many. The [selection], if it is not collapsed, is painted in
/// the [selectionColor]. If it _is_ collapsed, then it represents the cursor
/// position. The cursor is shown while [showCursor] is true. It is painted in
/// the [cursorColor].
///
/// Keyboard handling, IME handling, scrolling, toggling the [showCursor] value
/// to actually blink the cursor, and other features not mentioned above are the
/// responsibility of higher layers and not handled by this object.À�tÀ�ŽÀ��À��À�§À�¼À�³À�¾À�ÇÀ�ÌÀ�ÍÀ�tÀ�t[À�ÌÀ�µÀ�ÌÀ�ÓÀ�ÔÀ�ÓÀ�ÓJÀ�óÀ�!À�"À�!À�!/À�6À�TÀ�UÀ�TÀ�T+À�iÀ�ƒÀ�ƒ/À�žÀ�äÀ�äÀ�ûÀ�ØÀ�Ø�†À�ÜÀ’yÀ’yÀ’‰À’’À’’␍À’™À’bÀ’cÀ’bÀ’b�[À’sÀ“ÙÀ“ÙÀ“çÀ“ÁÀ“ÂÀ“ÁÀ“ÁvÀ“ÒÀ”;À”<À”;À”;aÀ”LÀ”ÏÀ”Ï$À”èÀ” À”¡À”¬À”­À” À” lÀ”¾À�=À�=…ÑÀ�CÀœòÀœò"À� ÀšHÀšH‚ÎÀœä‚~/// Determines whether repaint is needed when a new [RenderEditablePainter]
/// is provided to a [RenderEditable].
///
/// If the new instance represents different information than the old
/// instance, then the method should return true, otherwise it should return
/// false. When [oldDelegate] is null, this method should always return true
/// unless the new painter initially does not paint anything.
///
/// If the method returns false, then the [paint] call might be optimized
/// away. However, the [paint] method will get called whenever the
/// [RenderEditable]s it attaches to repaint, even if [shouldRepaint] returns
/// false.ÀŸ(ÀŸ(␍ÀŸ/ÀŸ7ÀŸ7 ÀŸ<ÀŸBÀŸBÀŸQÀ�À�‚GÀŸ"�ð/// Paints within the bounds of a [RenderEditable].
///
/// The given [Canvas] has the same coordinate space as the [RenderEditable],
/// which may be different from the coordinate space the [RenderEditable]'s
/// [TextPainter] uses, when the text moves inside the [RenderEditable].
///
/// Paint operations performed outside of the region defined by the [canvas]'s
/// origin and the [size] parameter may get clipped, when [RenderEditable]'s
/// [RenderEditable.clipBehavior] is not [Clip.none].À•À•ŠSÀš„÷/// An interface that paints within a [RenderEditable]'s bounds, above or
/// beneath its text content.
///
/// This painter is typically used for painting auxiliary content that depends
/// on text layout metrics (for instance, for painting carets and text highlight
/// blocks). It can paint independently from its [RenderEditable], allowing it
/// to repaint without triggering a repaint on the entire [RenderEditable] stack
/// when only auxiliary content changes (e.g. a blinking cursor) are present. It
/// will be scheduled to repaint when:
///
/// * It's assigned to a new [RenderEditable] (replacing a prior
/// [RenderEditablePainter]) and the [shouldRepaint] method returns true.
/// * Any of the [RenderEditable]s it is attached to repaints.
/// * The [notifyListeners] method is called, which typically happens when the
/// painter's attributes change.
///
/// See also:
///
/// * [RenderEditable.foregroundPainter], which takes a [RenderEditablePainter]
/// and sets it as the foreground painter of the [RenderEditable].
/// * [RenderEditable.painter], which takes a [RenderEditablePainter]
/// and sets it as the background painter of the [RenderEditable].
/// * [CustomPainter], a similar class which paints within a [RenderCustomPaint].ÀŸ£ÀŸ¸ÀŸºÀŸºÀŸÅÀŸ×ÀŸ×ÀŸÞÀ ÀŸõÀ  À 1À !À 3ÀŸ£ÀŸ£€ŸÀ cÀ hÀ iÀ RÀ F$À RÀ ¦À ŸÀ ¦À¡›À¡�À¡›À£YÀ£[À£\À£jÀ£kÀ£AÀ£/AÀ£AÀ¥!À¥#À¥$À¥1À¥2À¥
À¤ù>À¥
À oÀ o-À zÀ¡XÀ¡X5À¡gÀ¢YÀ¢Y€ÓÀ¢þ€ˆ/// Controls how tall the selection highlight boxes are computed to be.
///
/// See [ui.BoxHeightStyle] for details on available styles.À¤'À¤'€ÏÀ¤Ê€‡/// Controls how wide the selection highlight boxes are computed to be.
///
/// See [ui.BoxWidthStyle] for details on available styles.À ÌÀ ÌÀ ÓÀ ¹À ¹€›À ½À¡ÅÀ¡ÅÀ¡ÐÀ¡°À¡°€¥À¡´À£�À£�À£ŸÀ£tÀ£t€¯À£xÀ¥SÀ¥SÀ¥dÀ¥;À¥;€«À¥?À¦À¦␍À¦À¦À¦ À¦À¦À¦À¦*À¥êÀ¥ëÀ¥êÀ¥êƒwÀ¥ûÀ©„À©„"À©›À©eÀ©fÀ©eÀ©e‚À©vÀŸeÀŸeŒÀŸkÀ«»À«ÈÀ«»À«» À¬ À«üÀ«÷À«üÀ­yÀ­fÀ­aÀ­fÀ­œÀ­¡À­¢À­�À­ƒ À­�À­ÎÀ­ÓÀ­ÔÀ­¸À­§.À­¸À® À®À® À®åÀ®ÝÀ®åÀ¯ÊÀ¯ÐÀ¯ÑÀ¯ºÀ¯³"À¯ºÀ°®À°§À°®À±âÀ±ÜÀ±âÀ«ÏÀ«Ï%À«ØÀ­ÚÀ­Ú%À­åÀ®°À®°*À®¼À¯‡À¯‡)À¯’À°iÀ°i;À°tÀ±¥À±¥4À±¯À¬#À¬#
À¬(À¬À¬€†À¬À®'À®' À®.À®À®€”À®À¯À¯␍À¯À®öÀ®ö€�À®úÀ¯êÀ¯ê À¯ñÀ¯ÙÀ¯Ù€ŒÀ¯ÝÀ°âÀ°â À°éÀ°ÈÀ°È€ÙÀ°ÌÀ²À² À²À±ùÀ±ù€�À±ýÀ²·À²·␍À²¾À²ÊÀ²ÊÀ²ÙÀ²íÀ²íÀ²óÀ³À³À³À²šÀ²šƒHÀ²ŸÀµýÀµý␍ÀÀ À ÀÀÀÀ¶&ÀµæÀµçÀµæÀµæ„”Àµ÷Àº�Àº�"Àº´Àº~ÀºÀº~Àº~‚€Àº�À«…À«…‘{À«‹À½JÀ½iÀ½kÀ½kÀ½yÀ½JÀ½J:À½ªÀ½ˆ*À½ªÀ½ÔÀ½ÔÀ½áÀ½·À½¸À½·À½·€ À½ÈÀ¾{À¾{À¾ˆÀ¾[À¾\À¾[À¾[€¦À¾lÀ¿À¿␍À¿#À¿+À¿+ À¿0À¿6À¿6À¿EÀ¿À¿À¿À¿€ÊÀ¿À¿òÀ¿ò"ÀÀ À¿ÓÀ¿ÔÀ¿ÓÀ¿Ó‚tÀ¿äÀ½À½…GÀ½‚ý‚ð‚ã‚ðƒ/ƒƒ &ƒ ƒðƒúƒû„„*„„„„#„„%ƒÑƒÀkƒÑ„‹„‘„’„š„ž„›„r„e:„r†d†_†f†&†Q†&€®package:flutter/cupertino.dartŒU<€†€¤€¥€Ö€ß€à€ü�a�b���¹�á‚
‚2‚3‚F‚b‚w‚”‚ª‚Ââ‚ムƒ>ƒ?ƒ�ƒÀ„„„*„-„.„e„¡„¢……D…�…І†l†m†¶‡‡‡)‡D‡€‡¸‡¹ˆˆDˆZˆ[ˆ–ˆ¸ˆ¹ˆÅˆè‰
‰‰#‰O‰c‰i‰É‰Í‰Î‰Ú‰ðŠŠ9ŠbŠzŠ�ЅІВŠÇŠÉŠÊ‹‹d‹|‹€‹ÊŒŒdŒ³��Q�}���ÏŽŽn޽� �)�-�T�^�f�p�À�␍�\�¬�ù‘G‘X‘\‘ª‘ù’F’l’’ƒ’Ä““^“¯“ë“ï”D”^”b”°••N•j•­•˕ߕö––,–E–J–K–d–x–�–ž–É–ë–ì———G—M—›—±—·˜˜C˜X˜m˜�˜‡˜ä™4™p™¤™¼™Â™×™Û™ÜššMšNš™š®šË›"›D›a›g›�›�›äœEœ–œÁœÖœÚœÛœç���:�>�?�K�_�t�§�»�Áž ž7žZž…ž–žšž›žÄžÊŸŸŸ/ŸLŸ`ŸfŸÅŸÜŸÿ * ; ? @ ‚ › ¡ ç í¡%¡J¡{¡”¡Ò¡í¡þ¢¢¢¢[¢z¢‹¢•¢�¢£¢Ï¢Ó¢Õ¢Ö£#£L£P£š£ê¤¤¤f¤µ¥¥S¥¢¥¹¥½¦␍¦^¦¢¦É¦Ò¦þ§=§k§Ž§à§æ¨$¨*¨y¨¨Í©©^©d©­©¾©Ñ©çªª<ªTªvª›ª¯ªÜ«««1«K«g«‚«“«´¬#¬_¬e¬‡¬¹¬×¬û­­6­Q­}­¸­Ý­û®®-®G®a®ˆ®¯®Ò¯¯W¯}¯É¯é°°,°U°y°§°Æ°÷±(±7±„±¸±Â±Ñ²²S²]²l²¼³³&³`³ƒ³¿³â³÷´´=´u´§´Â´Ûµµ)µZµƒµ�µÌµé¶¶!¶@¶Y¶|¶¡¶Ò··@·u·¦·×·ú¸¸6¸[¸�¸²¸é¸ê¹!¹U¹˜¹Ù¹Úººbºcº�º¾ºí».»/»`»}»“»—»˜»³»ê¼!¼"¼.¼A¼g¼�¼³¼Û¼ÿ½ ½Q½x½¡½È½ô¾¾2¾N¾s¾‘¾®¾Ð¾Ö¾ë¾ï¾ð¿5¿…¿ª¿ÕÀ@,À@9À@:À@eÀ@ÁÀ@ëÀA#ÀA0ÀAkÀAqÀA–ÀAšÀA›ÀAÜÀBÀB ÀBUÀB›ÀBÆÀC ÀC9ÀCvÀC¢ÀC°ÀC¶ÀCàÀCäÀCåÀD ÀDpÀD‹ÀD¶ÀEÀEÀEÀE<ÀE˜ÀEÂÀEúÀFÀFBÀFHÀFcÀFgÀFhÀF°ÀF×ÀFÝÀG)ÀGtÀG�ÀGÁÀGäÀHÀH9ÀHGÀHMÀHmÀHqÀHrÀH‡ÀHÑÀI␍ÀIÀI,ÀIwÀIÍÀIÎÀJÀJaÀJ¦ÀJíÀKÀKkÀKrÀKvÀKwÀK±ÀKìÀL'ÀLdÀL�ÀL¹ÀLßÀLúÀM,ÀM5ÀM<ÀM@ÀMAÀMŒÀMœÀM¢ÀMïÀN:ÀNjÀNpÀN¿ÀNÿÀOÀO8ÀONÀOOÀOyÀOÊÀPÀP4ÀPBÀPHÀPuÀPŒÀP�ÀP‘ÀPÌÀQÀQ=ÀQmÀQ{ÀQ�ÀQªÀQÁÀQÅÀQÆÀQóÀQùÀRCÀRwÀR“ÀRºÀRßÀRíÀRóÀSÀS)ÀS-ÀS.ÀSpÀSvÀSŸÀS×ÀSõÀTÀTFÀTTÀTZÀT„ÀT¥ÀT¼ÀTÀÀTÁÀUÀU,ÀUAÀUaÀU‚ÀU�ÀU–ÀU°ÀUÓÀUóÀU÷ÀUøÀVBÀVHÀV‡ÀVßÀWÀWIÀWMÀWNÀW˜ÀWžÀWÜÀX1ÀXeÀX˜ÀXœÀX�ÀXëÀY+ÀY1ÀY‚ÀY¥ÀYÔÀYÕÀZ,ÀZ2ÀZ~ÀZÎÀ[À[,À[2À[À[ÊÀ[çÀ\:À\�À\ŽÀ\ãÀ\éÀ]5À]~À]ÍÀ]çÀ]íÀ^:À^…À^¢À^ñÀ_BÀ_CÀ_ƒÀ_ÛÀ`5À`ŠÀ`ÏÀ`ÓÀ`ÔÀ`òÀ`óÀa5ÀaAÀazÀa½Àb
Àb!ÀblÀbrÀb¼ÀbÀÀbÁÀbýÀc Àc>ÀcqÀcuÀcvÀc½ÀcÉÀdÀdPÀd›ÀdÚÀe#ÀeaÀe Àe¤Àe¥ÀeìÀeøÀf5ÀfÀfÊÀg ÀgRÀg�ÀgÎÀgÒÀgÓÀgïÀgðÀh3ÀhRÀhqÀh ÀhÍÀhÛÀháÀiÀiÀiTÀi¡Ài¸Ài¿ÀjÀjVÀj¤ÀjÞÀk/Àk|ÀkŸÀkÓÀk÷Àl)Àl*ÀlgÀl²ÀlÉÀlÐÀmÀm&ÀmVÀmZÀm[Àm±ÀmøÀmüÀmýÀnNÀnoÀn½Ào ÀoYÀo¥ÀoöÀp.Àp7ÀpˆÀpÙÀqÀqKÀq“ÀqœÀq¢Àq¼Àr␍ÀrÀr!Àr%Àr&Àr2ÀrLÀrhÀr°ÀrßÀsÀsÀsÀsÀs?ÀsaÀs…Às‰ÀsŠÀsËÀsÑÀtÀt>Àt‰Àt»Àt¼ÀtüÀuÀuHÀuuÀu—ÀuÃÀv
Àv*ÀvPÀv^ÀvdÀv†Àv¥ÀvÈÀvòÀw Àw)Àw-Àw.ÀwSÀwwÀw«ÀwÌÀw÷Àx*ÀxWÀx€Àx©ÀxÎÀxûÀy0ÀynÀyrÀysÀy¦ÀyÛÀyþÀz)Àz7Àz=ÀzaÀzxÀz|Àz}Àz£Àz©ÀzìÀ{-À{3À{�À{ÐÀ|À|gÀ|·À|ÇÀ}À}MÀ}•À}×À~À~1À~?À~EÀ~mÀ~„À~¤À~¨À~©À~úÀÀ ÀaÀ¯ÀÿÀ€'À€-À€yÀ€‰À€¶À€ÔÀ€üÀ�
À�À�1À�HÀ�LÀ�MÀ�•À�·À�ðÀ‚À‚BÀ‚PÀ‚VÀ‚{À‚’À‚–À‚—À‚ÈÀ‚þÀƒ ÀƒFÀƒJÀƒKÀƒ•ÀƒºÀƒÀÀ„À„ À„HÀ„NÀ„^À„dÀ„³À„ÇÀ…À…>À…oÀ…sÀ…tÀ…�À…�À…³À…èÀ† À†9À†YÀ†gÀ†mÀ†�À†´À†ºÀ†ØÀ†õÀ‡À‡À‡6À‡JÀ‡cÀ‡“À‡™À‡�À‡žÀ‡¹À‡ëÀ‡ïÀ‡ðÀˆ!ÀˆCÀˆ]ÀˆzÀˆ˜Àˆ¦Àˆ¬ÀˆÃÀˆãÀˆçÀˆèÀ‰=À‰aÀ‰|À‰šÀ‰¹À‰ÇÀ‰ÍÀ‰åÀ‰üÀŠÀŠÀŠ3ÀŠUÀŠoÀŠŒÀŠªÀЏÀоÀŠÕÀŠõÀŠùÀŠúÀ‹IÀ‹OÀ‹™À‹µÀ‹»À‹üÀŒÀŒPÀŒ ÀŒÝÀŒÿÀ�À�À�eÀ�‚À�ªÀ�ÇÀ�ÕÀ�ÛÀ�òÀ�óÀŽCÀŽ“À޽ÀŽðÀ�À� À� À�AÀ�cÀ�uÀ�vÀ�ÉÀ�æÀ�À�+À�9À�?À�VÀ�mÀ�qÀ�rÀ�¦À�ÆÀ�×À�óÀ‘À‘À‘#À‘9À‘PÀ‘TÀ‘UÀ‘‰À‘ÊÀ‘ïÀ’À’!À’"À’hÀ’„À’ŠÀ’ÂÀ’ÈÀ“À“8À“GÀ“fÀ“ÓÀ”␍À”À”OÀ”^À”}À”êÀ•$À•(À•NÀ•yÀ•}À•~À•µÀ•íÀ–À–>À–LÀ–RÀ–wÀ–ŽÀ–’À–“À–ÆÀ–ÌÀ—À—À—XÀ—ƒÀ—±À—ÎÀ—öÀ˜À˜#À˜)À˜AÀ˜qÀ˜‡À˜§À˜«À˜¬À˜âÀ˜èÀ™8À™„À™ÌÀ™ôÀšÀš3ÀšOÀš]ÀšcÀšwÀš¥Àš«ÀšÀÀšÔÀšÿÀ›À›À› À›!À›EÀ›oÀ›ŒÀ›®À›ÏÀ›ÝÀ›ãÀ›ýÀœÀœÀœÀœ<ÀœBÀœŸÀœ¥À�À�OÀ�»À�þÀžÀž;Àž]ÀžkÀžqÀžŒÀž£Àž§Àž¨ÀžðÀŸ;ÀŸAÀŸ�ÀŸµÀŸÊÀ À À CÀ iÀ wÀ }À œÀ ÜÀ¡ À¡,À¡rÀ¡¤À¡ÂÀ¡ÆÀ¡ÇÀ¢À¢UÀ¢[À¢ŸÀ¢èÀ£9À£�À£–À£ÏÀ£òÀ¤À¤À¤À¤VÀ¤\À¤�À¤ÇÀ¤ëÀ¥À¥À¥À¥IÀ¥OÀ¥šÀ¥ðÀ¦/À¦RÀ¦€À¦ªÀ¦¸À¦¾À¦áÀ¦÷À¦ûÀ¦üÀ§+À§1À§|À§ÐÀ¨ À¨,À¨XÀ¨€À¨ŽÀ¨”À¨µÀ¨ËÀ¨ÏÀ¨ÐÀ©À©=À©CÀ©�À©•À©¥À©«À©úÀªÀª6Àª7Àª~Àª°ÀªÒÀ«À«À«=À«CÀ«‡À«ÊÀ«òÀ¬0À¬sÀ¬¨À¬®À¬òÀ­-À­cÀ­…À­ÌÀ­ñÀ®!À®QÀ®_À®eÀ®ŽÀ®¥À®ÅÀ®ÉÀ®ÊÀ¯À¯GÀ¯MÀ¯‘À¯ÔÀ¯üÀ°:À°}À°²À°¸À±À±,À±2À±…À±ÎÀ±ÔÀ²À²]À²¤À²âÀ³À³7À³;À³<À³pÀ³vÀ³ÅÀ´À´oÀ´²À´ÿÀµ(ÀµdÀµhÀµiÀµÆÀÀÀ¶WÀ¶]À¶ºÀ· À·<À·zÀ·~À·À··À·½À¸À¸NÀ¸nÀ¸ À¸¿À¸ÀÀ¸÷À¸øÀ¹.À¹4À¹WÀ¹�À¹§À¹ÈÀ¹êÀºÀºÀºAÀºGÀºKÀºLÀº�Àº¬ÀºäÀºåÀ»1À»€À»¿À»éÀ¼À¼À¼cÀ¼ªÀ¼×À¼ÝÀ½À½\À½À½—À½¶À½ËÀ½ûÀ¾)À¾3À¾AÀ¾sÀ¾ŸÀ¾ÊÀ¾÷À¿%À¿DÀ¿QÀ¿[À¿nÀ¿rÀ¿sÀ¿À¿ÆÀ¿øÀÀ;ÀÀŠÀÀØÀÀ÷ÀÁ.ÀÁ�ÀÁÈÀÁðÀÂAÀÂgÀÂtÀ˜À½ÀÂËÀÂÑÀÂûÀÃÀÃnÀÃ}ÀäÀüÀÃìÀÄ9ÀÄzÀÄÉÀÅ
ÀÅ&ÀÅHÀÅjÀÅ¡ÀÅÔÀÅçÀÅøÀÆÀÆÀÆ2ÀÆTÀÆ^ÀƼÀÆÄÀÆÊÀÆÕÀÇÀÇ(ÀÇKÀÇqÀÇŽÀÇ©ÀÇÄÀÇâÀÈ/ÀÈiÀÈ™ÀÈšÀÈÂÀÈõÀÈûÀÈüÀÉÀÉFÀÉLÀÉMÀÉŠÀɲÀÉýÀÊ ÀÊUÀÊ©ÀʱÀÊûÀË
ÀËQÀË£ÀË«À˱À˵À˶ÀËÛÀÌÀÌ)ÀÌ=ÀÌ~À̇ÀÌ­ÀÌ´À̸À̹ÀÌÅÀÌãÀÌûÀÍÀÍDÀÍJÀÍŒÀÍ·ÀÍëÀÎÀÎÀÎ+ÀÎIÀÎaÀ΄ÀζÀÏÀÏ[ÀϽÀÏÞÀÏßÀÏÿÀÐMÀДÀÐÃÀÐØÀÐÿÀÑPÀÑšÀÑÝÀÒ
ÀÒ0ÀÒKÀÒUÀÒyÀÒ˜ÀÒ§ÀÒÚÀÓ/ÀÓLÀÓ`ÀÓjÀÓ”ÀÓÆÀÔÀÔ9ÀÔiÀÔsÀÔ¶ÀÔúÀÕÀÕ<ÀÕ_ÀÕ•ÀÕÍÀÕØÀÖ&ÀÖwÀÖœÀÖÇÀÖñÀ×À×HÀ×SÀ׊À׺À×çÀØÀØEÀØtÀØ�ÀؤÀØíÀÙBÀÙeÀÙ’ÀÙ½ÀÙËÀÚ0ÀÚWÀÚŽÀÚœÀÚ±ÀÚÄÀÚ×ÀÛ&ÀÛ0ÀÛ`ÀÛ³ÀÜÀÜ ÀÜ6ÀÜlÀܼÀÜÍÀÜðÀÝIÀÝSÀÝdÀÝ’ÀݲÀÝãÀÞÀÞÀÞÀÞ;ÀÞŠÀÞŽÀÞ�ÀÞÁÀÞÑÀß ÀßCÀßJÀßNÀßOÀß–ÀßÖÀàÀàÀàSÀà‘Àà•Àà–ÀàÙÀàøÀáLÀálÀázÀá€ÀáÔÀáçÀâ0ÀâVÀâ]ÀâaÀâbÀâ¦ÀâÅÀãÀã:ÀãHÀãNÀã¢ÀãµÀãþÀä$Àä+Àä/Àä0ÀänÀä�ÀäàÀåÀå;ÀåIÀåOÀå¤Àå·ÀæÀæ(Àæ/Àæ3Àæ4ÀæsÀæ’ÀæåÀç2ÀçRÀç`ÀçfÀç¿ÀçÒÀè!ÀèGÀèNÀèRÀèSÀè{ÀèŽÀèèÀéÀé.Àé6Àé[ÀéqÀéyÀé“Àé™Àé�ÀéžÀéÊÀéäÀê>ÀêoÀê„ÀêŒÀê±ÀêÇÀêÏÀêïÀêõÀëÀë
Àë ÀëUÀëfÀëkÀë¯ÀìÀìCÀìmÀì¡ÀìÒÀí ÀíÀí'Àí-Àí>ÀíBÀíCÀíOÀítÀí�Àí¹ÀíåÀíæÀîÀî;ÀîWÀî¶ÀîßÀîöÀï$Àï(Àï)Àï5ÀïGÀï[ÀïuÀï¡ÀïÒÀïæÀð␍Àð4Àð8Àð9ÀðEÀð`Àð£ÀðæÀñ Àñ.Àñ4ÀñWÀñ|Àñ‚ÀñŸÀñ£Àñ¤Àñ°ÀñäÀò'ÀòjÀò�Àò­Àò³ÀòÖÀòöÀòüÀóÀó"Àó#ÀóMÀóNÀóšÀó›ÀóÑÀôÀô7Àô<Àô=Àô\ÀôqÀô•ÀôºÀôÞÀôåÀôéÀôêÀõÀõ0ÀõTÀõœÀõäÀõëÀõïÀõðÀöCÀö’ÀöèÀöéÀ÷6À÷<À÷�À÷ÝÀø*ÀøvÀøÂÀøÈÀøØÀøÞÀùÀùXÀù§ÀùÊÀùËÀùøÀùùÀú2ÀúKÀúxÀú�ÀúÁÀúñÀúþÀûÀûaÀûÅÀüÀübÀüoÀüŠÀüíÀýÀýÀý|Àý“Àý¶ÀýðÀþ'Àþ0Àþ6Àþ:Àþ;ÀþŠÀþ»ÀþÁÀÿÀÿÀÿ$ÀÿuÀÿ—ÀÿËÀÿúÀ␍ÀÀ6À7À}ÀÄÀðÀÀ!À"À3ÀBÀRÀÀÍÀ×ÀöÀúÀûÀCÀIÀYÀ_À§ÀÙÀ%ÀJÀ†À©ÀÀ À
ÀXÀhÀnÀ~À„ÀËÀÀ[À˜ÀÞÀýÀ7ÀZÀ‹ÀéÀ0ÀŒÀ�À´ÀÊÀÓÀÀ␍ÀMÀNÀ¯ÀÔÀóÀ À KÀ ŒÀ ¯À ÉÀ óÀ
À
*À
5À
XÀ
{À
œÀ
¿À À iÀ ·À èÀ À [À ~À ˜À ØÀ óÀ
À␍À␍À␍À␍KÀ␍�À␍”À␍•À␍¡À␍ÔÀ(À?ÀvÀ¸ÀàÀçÀ,ÀHÀ„ÀÀÀÜÀàÀáÀíÀ ÀtÀ‹ÀÏÀÀUÀ—À¿ÀÆÀ À'ÀgÀ§ÀÈÀÞÀâÀãÀAÀwÀ½À¾ÀÜÀÀ:ÀYÀsÀyÀŒÀÇÀïÀ
À&ÀAÀ…À À»ÀÑÀÙÀßÀ À␍ÀÀ8ÀaÀ–ÀÚÀÀÀ3ÀWÀ}ÀÔÀãÀ;ÀŸÀ§ÀÚÀàÀáÀ,À{À‹À¤ÀóÀAÀ�À×À.À4ÀTÀlÀrÀ¯ÀÀÀkÀ|À�À”À˜À™À¥À÷ÀøÀÀ7ÀeÀ�À�ÀºÀäÀíÀôÀÀÀÀ)ÀkÀŽÀÑÀÕÀÖÀâÀÀÀÀ)ÀwÀµÀ À XÀ ©À øÀ!<À!fÀ!†À!ÝÀ"À"ZÀ"fÀ"vÀ"�À"²À"ÚÀ"ïÀ"ýÀ#>À#DÀ#HÀ#IÀ#kÀ#™À#šÀ#¦À#æÀ$À$7À$XÀ$YÀ$uÀ$´À$ÔÀ$úÀ%À%À% À%␍À%-À%VÀ%WÀ%§À%óÀ&À&À&bÀ&cÀ&—À&�À&ëÀ'À'FÀ'yÀ'µÀ'¹À'ºÀ(À(QÀ(aÀ(gÀ(²À(ÜÀ) À)>À)BÀ)CÀ)sÀ)�À)«À)¯À)°À)þÀ*CÀ*SÀ*YÀ*¤À*ÉÀ*ÞÀ+À+À+À+/À+KÀ+\À+`À+aÀ+¯À,À,À,À,dÀ,�À,¨À,àÀ,äÀ,åÀ-3À-„À-”À-šÀ-æÀ.À.,À.dÀ.hÀ.iÀ.…À.¡À.¸À.¼À.½À.øÀ.þÀ/@À/ŽÀ/ÜÀ0+À01À0wÀ0¾À0ÓÀ1À1TÀ1XÀ1YÀ1™À1ŸÀ1ðÀ2À2À2¢À2ëÀ3À3À3LÀ3[À3ªÀ3«À3ÛÀ4#À4$À4LÀ4jÀ4ŒÀ4³À4ºÀ4»À4ãÀ4çÀ4èÀ5#À5eÀ5fÀ5¤À5ªÀ5éÀ6%À6hÀ6lÀ6mÀ6ÊÀ6ÐÀ7+À71À7{À7«À7±À7ðÀ8 À8&À86À8`À8gÀ8ŠÀ8ÓÀ8ýÀ9À9FÀ9uÀ9ŒÀ9ÛÀ:À:*À:QÀ:–À:—À:ªÀ:¿À;À;uÀ;šÀ;£À;°À;·À;»À;¼À;øÀ;þÀ<=À<}À< À<ÊÀ=À=JÀ=QÀ=”À=¹À=âÀ>$À>1À>’À>˜À>ÀÀ>ÄÀ>ÅÀ? À?"À?7À?pÀ?ÀÀ?ïÀ@À@iÀ@rÀ@xÀ@ÇÀ@ÞÀA)ÀA/ÀArÀA‘ÀA²ÀAÔÀBÀBDÀBhÀB“ÀB™ÀB»ÀB¼ÀC ÀCYÀC’ÀC™ÀCèÀD9ÀDNÀDmÀD¾ÀEÀE)ÀEJÀEpÀE²ÀEÖÀFÀF+ÀF†ÀF’ÀFñÀGÀG0ÀGXÀG¼ÀGÊÀH+ÀH7ÀH\ÀHÀH¢ÀHÇÀHØÀHàÀHæÀHçÀI1ÀI5ÀI6ÀI‚ÀI‡ÀIÖÀJ&ÀJmÀJ¤ÀJ¥ÀJßÀJúÀK!ÀK(ÀKuÀKÁÀKÎÀLÀLAÀLHÀLLÀLMÀLžÀL­ÀL²ÀMÀMLÀM–ÀMæÀMöÀMûÀNLÀN–ÀNäÀOÀORÀOWÀO£ÀOóÀP<ÀPWÀP~ÀPÁÀPçÀQ␍ÀQÀQUÀQYÀQZÀQwÀQxÀQÅÀQÊÀRÀR_ÀRqÀR“ÀR¸ÀR×ÀRøÀSJÀSmÀS�ÀS±ÀSÔÀSýÀT ÀT+ÀTBÀTvÀT�ÀT‡ÀT‹ÀTŒÀTÚÀTùÀU.ÀUkÀU¥ÀU¸ÀU×ÀV/ÀV>ÀV]ÀVµÀVÄÀVËÀVÏÀVÐÀVÜÀVéÀW)ÀWlÀW’ÀW¸ÀW¿ÀWÓÀWõÀXÀX3ÀX_ÀX‹ÀX–ÀXžÀXÖÀXùÀYÀYiÀYÆÀYÊÀYËÀY×ÀZ2ÀZuÀZ›ÀZÁÀZÈÀZÜÀZþÀ[À[<À[hÀ[”À[ŸÀ[§À[ßÀ\%À\)À\*À\6À\OÀ\ˆÀ\»À\×À\üÀ]!À](À]kÀ]‘À]·À]¾À]ÏÀ^À^@À^‚À^ À^¡À^ÄÀ^ãÀ_,À_eÀ_œÀ_ðÀ`À`9À`VÀ`ŒÀ`´À`½À`ÄÀ`ÅÀa ÀaaÀabÀa¤Àa¥ÀaÞÀbÀbÀbQÀb…Àb¿ÀbÃÀbÄÀcÀcfÀcªÀcÒÀcíÀdÀd2ÀdVÀdxÀd�ÀdËÀdÌÀe Àe~ÀeÜÀfÀf Àf
Àf]ÀfcÀfsÀfyÀfÈÀfÜÀg?ÀggÀg£ÀgÂÀg÷ÀhÀh?Àh}Àh›ÀhïÀiFÀiGÀilÀišÀi Ài¡ÀiÀÀj␍ÀjÀjÀj7ÀjqÀjwÀjxÀjÌÀkÀkIÀk¦ÀkÈÀlÀldÀl‡Àl�ÀlÂÀmÀm?Àm~ÀmÝÀnÀnÀnÀnMÀn’ÀnÔÀnöÀo ÀoÀoÀoTÀouÀo¾ÀoàÀoæÀp&ÀpFÀp�Àp³Àp¹ÀpºÀpáÀpâÀpýÀqÀqÀqNÀqkÀqqÀq�Àq‡ÀqÖÀqêÀrÀr'ÀrAÀrfÀr‚Àr‰Àr¹ÀrÞÀrüÀsÀsAÀsbÀs…Às©Às¯ÀsíÀt&ÀtCÀtyÀtÂÀuÀu]Àu‡Àu¿ÀuçÀvÀvÀvDÀvJÀv›ÀvŸÀv ÀwÀwHÀw|ÀwÐÀwùÀx'ÀxMÀxoÀx¢Àx­ÀxµÀx»ÀyÀy2ÀyYÀy»ÀyÂÀyÆÀyÇÀzÀzMÀzSÀz¤Àz½ÀzÃÀ{ À{À{cÀ{§À{­À{ùÀ|AÀ|…À|ÙÀ}%À}{À}¢À}®À}½À}ÒÀ}éÀ~À~ À~␍À~À~NÀ~ˆÀ~‰À~¼À~öÀ~üÀ~ýÀ=À}À~ÀÆÀ€À€3À€fÀ€lÀ€mÀ€¦À€ÙÀ€ÚÀ€ýÀ�0À�6À�:À�;À�ŽÀ��À�ªÀ�ÇÀ�ïÀ‚À‚À‚4À‚MÀ‚€À‚´À‚»À‚èÀƒ
Àƒ-Àƒ4Àƒ�Àƒ¢ÀƒÎÀƒçÀ„À„NÀ„WÀ„pÀ„ºÀ„ÏÀ„äÀ„íÀ…À…/À…{À…�À…¥À…®À…´À…¸À…¹À…ÅÀ†À†VÀ†dÀ†jÀ†œÀ† À†¡À†­À†äÀ‡À‡BÀ‡uÀ‡�À‡ŸÀ‡»À‡ÓÀ‡÷ÀˆÀˆ(Àˆ5ÀˆXÀˆÀˆ…ÀˆºÀˆìÀ‰<À‰BÀ‰FÀ‰GÀ‰™À‰šÀ‰¦À‰áÀ‰ýÀŠÀŠ(ÀŠBÀŠ]ÀŠ…ÀŠÄÀŠÊÀŠÎÀŠÏÀŠÛÀ‹ À‹KÀ‹ŠÀ‹âÀŒÀŒPÀŒ¨ÀŒíÀ�À�fÀ�mÀ�ÄÀŽÀŽ_ÀŽcÀŽdÀŽpÀŽ¢ÀŽÀÀŽØÀ�/À�6À�:À�<À�=À�rÀ�ÐÀ�ÑÀ�ÝÀ�À�À�+À�QÀ�RÀ�^À�€À��À�³À�ÖÀ‘À‘&À‘4À‘:À‘;À‘rÀ‘‹À‘ŒÀ‘ÃÀ‘ÛÀ‘áÀ‘âÀ‘öÀ’(À’UÀ’[À’_À’`À’lÀ’£À’ÓÀ’ïÀ“(À“UÀ“�À“´À“ºÀ“¾À“¿À“ËÀ“ðÀ” À”4À”8À”9À”EÀ”WÀ”…À”™À”�À”žÀ”ªÀ”·À•␍À•À•À•ZÀ•xÀ•|À•ËÀ–À–kÀ–¼À—␍À—4À—8À—zÀ—ÇÀ˜À˜WÀ˜{À˜À˜�À˜‘À˜âÀ™(À™oÀ™µÀšÀšFÀš”Àš½ÀšÃÀ› À›ZÀ›©À›éÀ›ïÀœ;Àœ€ÀœÐÀœÝÀ�À�À�NÀ�TÀ�¤À�òÀž=ÀžCÀž”ÀžãÀŸÀŸbÀŸdÀŸeÀŸ¡ÀŸïÀ À CÀ DÀ lÀ mÀ �À ·À ßÀ¡À¡À¡À¡:À¡QÀ¡UÀ¡VÀ¡ŽÀ¡®À¡ÜÀ¢À¢À¢À¢;À¢RÀ¢VÀ¢WÀ¢¡À¢§À¢æÀ£-À£rÀ£¨À£ÒÀ£àÀ£æÀ¤ À¤ À¤$À¤%À¤oÀ¤uÀ¤³À¤÷À¥9À¥mÀ¥–À¥¤À¥ªÀ¥ÌÀ¥ãÀ¥çÀ¥èÀ¥ôÀ¦<À¦kÀ¦”À¦ÓÀ¦áÀ¦çÀ¦èÀ§
À§KÀ§vÀ§•À§àÀ¨À¨>À¨HÀ¨ZÀ¨[À¨zÀ¨‘À¨�À¨³À¨ãÀ©7À©OÀ©XÀ©^À©bÀ©cÀ©oÀ©ªÀ©ÒÀ©æÀ©ìÀª ÀªLÀªRÀª†Àª¾ÀªúÀ«>À«~À«‚À«„À«…À«¹À«ÌÀ«ÍÀ«õÀ¬À¬1À¬QÀ¬_À¬eÀ¬À¬–À¬šÀ¬›À¬ÚÀ¬òÀ¬÷À­BÀ­_À­€À­�À­¥À­×À­ØÀ®À®À®7À®dÀ®rÀ®xÀ®yÀ®’À®©À®­À®®À®ÛÀ®ôÀ¯À¯:À¯HÀ¯NÀ¯iÀ¯€À¯„À¯…À¯±À¯×À¯úÀ°À°*À°0À°KÀ°bÀ°fÀ°gÀ°¥À°ÆÀ°òÀ±*À±8À±>À±?À±cÀ±À±˜À±žÀ±¢À±£À±ÚÀ±÷À²À²GÀ²UÀ²[À²|À²“À²—À²˜À²³À²ÆÀ²éÀ²ÿÀ³À³$À³uÀ³ŒÀ³´À³ÛÀ´+À´ƒÀ´•À´ŸÀ´§À´ÒÀ´÷ÀµÀµFÀµUÀµŸÀµÑÀµÙÀµßÀµãÀµäÀµðÀ¶8À¶|À¶}À¶¼À¶½À·
À·À·À·À·]À·^À·—À·±À·ÌÀ·ìÀ·üÀ¸BÀ¸]À¸“À¸”À¸²À¹À¹ À¹
À¹UÀ¹mÀ¹ÂÀ¹ÐÀ¹ÖÀ¹×À¹íÀº8ÀºpÀºwÀº{Àº|ÀºˆÀºÃÀºëÀºÿÀ»À»À»%À»?À»EÀ»qÀ»£À»ßÀ¼À¼CÀ¼wÀ¼½À¼ûÀ¼ÿÀ½À½À½HÀ½…À½†À½´À½µÀ½ÁÀ½íÀ¾)À¾NÀ¾TÀ¾XÀ¾YÀ¾eÀ¾”À¾ÐÀ¾øÀ¾þÀ¿À¿À¿À¿WÀ¿“À¿ÆÀ¿ÌÀ¿ÐÀ¿ÑÀ¿ÝÀÀÀÀ@ÀÀTÀÀZÀÀ•ÀÀÏÀÀâÀÀèÀÀéÀÁ@ÀÁ‹ÀÁÊÀÂÀÂ#ÀÂ+ÀÂ1ÀÂ2ÀÂDÀÂHÀÂJ
_kCaretGap_kCaretHeightOffset_kFloatingCursorSizeIncrease_kFloatingCursorRadius6_kShortestDistanceSquaredWithFloatingAndRegularCursorsTextSelectionPointVerticalCaretMovementRunRenderEditable_RenderEditableCustomPaintRenderEditablePainter_TextHighlightPainter␍_CaretPainter_CompositeRenderEditablePainter9flutter.rendering.RenderEditable.verticalArrowKeyMovement†,When the user presses the upward arrow key or the downward arrow key, on
many platforms (macOS for instance), the caret will move to the previous
line or the next line, while maintaining its original horizontal location.
When it encounters a shorter line, the caret moves to the closest horizontal
location within that line, and restores the original horizontal location
when a long enough line is encountered.
Additionally, the caret will move to the beginning of the document if the
upward arrow key is pressed and the caret is already on the first line. If
the downward arrow key is pressed next, the caret will restore its original
horizontal location and move to the second line. Similarly the caret moves
to the end of the document if the downward arrow key is pressed when it's
already on the last line.
Consider a left-aligned paragraph:
aa|
a
aaa
where the caret was initially placed at the end of the first line. Pressing
the downward arrow key once will move the caret to the end of the second
line, and twice the arrow key moves to the third line after the second "a"
on that line. Pressing the downward arrow key again, the caret will move to
the end of the third line (the end of the document). Pressing the upward
arrow key in this state will result in the caret moving to the end of the
second line.
Vertical caret runs are typically interrupted when the layout of the text
changes (including when the text itself changes), or when the selection is
changed by other input events or programmatically (for example, when the
user pressed the left arrow key).5flutter.rendering.RenderEditable.paintCursorAboveText€­If the cursor should be painted on top of the text or underneath it.
By default, the cursor should be painted on top for iOS platforms and
underneath for Android platforms.-flutter.rendering.RenderEditable.cursorOffset�VThe offset that is used, in pixels, when painting the cursor on screen.
By default, the cursor position should be set to an offset of
(-[cursorWidth] * 0.5, 0.0) on iOS platforms and (0, 0) on Android
platforms. The origin from where the offset is applied to is the arbitrary
location where the cursor ends up being rendered from by default.=flutter.rendering.RenderEditable.lastSecondaryTapDownPositionLThe position of the most recent secondary tap down event on this text
input./flutter.rendering.RenderEditable.selectPosition�ZThis method is mainly used to translate user inputs in global positions
into a [TextSelection]. When used in conjunction with a [EditableText],
the selection change is fed back into [TextEditingController.selection].
If you have a [TextEditingController], it's generally easier to
programmatically manipulate its `value` or `selection` directly.æï
Binary file not shown.

After

Width:  |  Height:  |  Size: 83 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 B

File diff suppressed because it is too large Load Diff