📄 ide.py
字号:
return Trueclass IDEDocManager(wx.lib.docview.DocManager): # Overriding default document creation. def OnFileNew(self, event): import NewDialog newDialog = NewDialog.NewDialog(wx.GetApp().GetTopWindow()) if newDialog.ShowModal() == wx.ID_OK: isTemplate, object = newDialog.GetSelection() if isTemplate: object.CreateDocument('', wx.lib.docview.DOC_NEW) else: import ProcessModelEditor if object == NewDialog.FROM_DATA_SOURCE: wiz = ProcessModelEditor.CreateAppWizard(wx.GetApp().GetTopWindow(), title=_("New Database Application"), minimalCreate=False, startingType=object) wiz.RunWizard() elif object == NewDialog.FROM_DATABASE_SCHEMA: wiz = ProcessModelEditor.CreateAppWizard(wx.GetApp().GetTopWindow(), title=_("New Database Application"), minimalCreate=False, startingType=object) wiz.RunWizard() elif object == NewDialog.FROM_SERVICE: wiz = ProcessModelEditor.CreateAppWizard(wx.GetApp().GetTopWindow(), title=_("New Service Application"), minimalCreate=False, startingType=object) wiz.RunWizard() elif object == NewDialog.CREATE_SKELETON_APP: wiz = ProcessModelEditor.CreateAppWizard(wx.GetApp().GetTopWindow(), title=_("New Skeleton Application"), minimalCreate=False, startingType=object) wiz.RunWizard() elif object == NewDialog.CREATE_PROJECT: import ProjectEditor for temp in self.GetTemplates(): if isinstance(temp,ProjectEditor.ProjectTemplate): temp.CreateDocument('', wx.lib.docview.DOC_NEW) break else: assert False, "Unknown type returned from NewDialog" class IDEDocTabbedParentFrame(wx.lib.pydocview.DocTabbedParentFrame): # wxBug: Need this for linux. The status bar created in pydocview is # replaced in IDE.py with the status bar for the code editor. On windows # this works just fine, but on linux the pydocview status bar shows up near # the top of the screen instead of disappearing. def CreateDefaultStatusBar(self): pass class IDEMDIParentFrame(wx.lib.pydocview.DocMDIParentFrame): # wxBug: Need this for linux. The status bar created in pydocview is # replaced in IDE.py with the status bar for the code editor. On windows # this works just fine, but on linux the pydocview status bar shows up near # the top of the screen instead of disappearing. def CreateDefaultStatusBar(self): pass#----------------------------------------------------------------------------# Icon Bitmaps - generated by encode_bitmaps.py#----------------------------------------------------------------------------from wx import ImageFromStream, BitmapFromImageimport cStringIOdef getSplashData(): return \'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x01\xf4\x00\x00\x01\\\x08\x02\\x00\x00\x00\xb1\xfb\xdb^\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\\x00 \x00IDATx\x9c\xec\xbdg{\x1cIv4\x1a\'\xcb\xb4G7\x00Z\x90\x1c\xb3\xb3\xab\u\x92V\xaf\xfc\xfd\xff_\xde+w\x1f\xadV\xd2:ifg\xe8\t\xd3\xbel\xe6\xb9\x1f\\xd2TVu7\x087C\x80\xac\x18\x0e\xba\xcbg5\x1a\x91QqN\x9e$fF\x8b\x16?8\x98\xd5\\xeb\xff\xfdgU$\x00\x18`\x06\x11\x88\x00\x80\xf4\x0e\x00\x01Df\x93 \xbd\x03\\t\x02\x01B \x0c\x83N\'\x8ez\x03t{\x10\x02y\xaaV\x8b"O\x95Tl\xcf\xc9\x0c\xc5\\x90\nJ1\xdb3_\x1f\x04*\x14\xa79\x1f>\xfd\xf3\xd1\xf8\xfe\r\x9d\xb5E\x8b\x9b\D\xf8\xa1\x1b\xd0\xe2\x13E\xb2<\x91E\xa2\xd9\x96\x00\x06\x13H\xbf\xd7\xcb\\xfa\x8d\x95\x1ed\xa8\x99\xa1\x00AP\x8c\xb2\x94\xe0\x9c\x15G\xb2\xa4N\x17"\\x10\xddA\x04\x94y&\x95\x04\x83\x08\x0c\x10\x81\x00E\xa4\x14\xd4\xcdI\x19\\x02\x02\x81\xf9\xc9\xcb\x96\xdc[\xdcN\xb4\xe4\xde\xe2\xc3`q\xf2\x9d\xe5r\\x80A\x9a\x83a\x165\xc8*z\xbdR\xd3\xba~C\xccL\xc4,%\xab\xb2,\xc3,\r\xa3X\x88\@\x880\x08\x99\xcbB)\xc9\xcc\xfaX!@\xac\xbb\x04RF\xce3\xae*\xe4\x89\x88\xcd\\xe1\x94\xae\xce\xf2t\x1dw\xfbW\xfe\x1cZ\xb4\xf8\x9e\xd0\x92{\x8b\x0f\x80,\\x99\xe7\xc9\\Xr%\xf7\xc6\xee\xc0\xd6\x901\xdb\xb5\xb6g(f"\'\xf7\xa1\x00\x96\\xacTYJ\x15\x16e\x18\x04$\xc8\x1c@\x02P`\x08\x02\x13X1\xeb\x07\x02\x063\x84a\\xf9+y5\x0c\xae: ^/\xa7-\xb9\xb7\xb8\x85h\xc9\xbd\xc5\x07\xc0j\xfa\x1a@\x18 \\x0c\x90\x16\x96(\x19\x10\x865\xc9x3\x15\xef3X\xef\x02M\xc8d\xdf\x00\xcc\xcc\\xac\x94RR)m\xca\x9bC\xd8\x9e\x83H\x04`fR\xac\x8c\x15\xaf;\x0f\xd2\x0bl\xfb\\x91\x8b\x10=\x83\xddQ\x00\xb2dqc\x9fK\x8b\x167\x87\x96\xdc[\xfc\xd0P\xaaL\\x16\xef\x08P\x8c8$\x02\xa7\x85g\xbf\xd8Pj\xe5\x8e[\x0b\x9e\xedV03 \x88\x98\\x8dS/\x98\x15\x11C\x911\xd9\xf5\x7fL\x04f\x16B\x08\x11\x88\x80\x02\x86b%\\xa5RJ)f\x023\x81A\x9a\xe5\xf5\x897]y\x9f\xf1u\x0f\xc3\xde\xbf<O\xbf\x9f\xcf\\xa9E\x8bk\xa1%\xf7\x16?4\xd6\xf3c%\x0bAP\nE\xc9\x9d\x88\x88x\x9dU;\x98$\x19\#\xdb\xa9F\xf4\x004\xfb3\x14X\xebv\x10\x14\x00\xb0P\xc6\xc0!\xb0\x16\xf76\\xdfF1#@\x18\x86A("\xa5X\xca\xb2\x94RI\xa54C\x1b\xc3\x9f\x98\xc8\x08r\xd8\\x87\x05\xef\xe2\x8c\xca\x93Q\x0c\xa57+\xf5}}R-Z\\\x03-\xb9\xb7\xf8\xa1\xb1\\x9e\xbdr)1\x85D\x1c"\x0e\t\xc4If\xa8\xf3b\xde\x08\x1c\xf5\x92\xfd\xa9\x00\\xe1\x8c\x1b\xd7=0\x88\xa0X).\x14s\x14\x86a\x14\x86Q\x1c)%eY\x16E\xa9\x95\\xbc9\x0eV\xf4\xbbv\x98\xf0)[\xd2W\x0c\x9dx\xa3\x14\xb6\xe8\xfc\x16-n\x07Zro\\xf1\x83"O\x16\xd9\xda\x86R\t\x92Q(\x8e\x03\xd2\xfe\xcc:\x03\x18$\x1c\xb5\\x92\xd5\xed\xdbI\x94\xeb\xfc\xaeC\xa8l-{\x97l\xc3\x0c"V\nJ\x16R\xcaP\xca(\\x8a\x830\x8c\xc2^\x14\xc5eY\x96eQ\x96R\xbb\xf6\xda\xc2\xaf\xba\x18\xc7\xecl\r\xe7\xa5&wE|N\xcbZ\xb4\xf8\xd0h\xc9\xbd\xc5\x0f\x8a\xd5\xec5Y\x07]\x13w^ \n\@\x8c8$\x06\'\x99\xa5L\xcf\x82\xdf\x0eg\x9ap\xb5B[$\x04\x90\x97CI\x04\xd2\\x14M\x90\xacJY\x14\x85\x0c\xc2 \n\xa3 \x0cE\x10\x84$\x84\x90\xa5\x94(K\xa5\\x14\xab*!^\x814\xdbkrW\xca\x182J\xb1^\x13\x84\xd1\xcd\x7fL-Z\\\x1b-\xb9\xb7\\xf8\xe1\xa0d\xb1\x9e\xbfu\xb1Q"bp\xa9\x90\x15\xdc\x8b\x89\x19\x9d\x90\x989\\xcd\xf5\xee6\xe9\xf1\x02\xe2\xd8\xd82\\\xd9:~\xf6\x0b\xd9\xfc\x1a\xed\xd6\\x13XIU\x96\xb2\x08J!\x02!\x88HX\x81\xaf\xf3u\x04\xb32\xf1[\x86M\x8d7\xfa]*\\xd6\x14\xaf\x17\xbb\xbd\xd1\x8d~H-Z\xdc\x0cZro\xf1\xc3!Y\x9c\xb0*\x9c\x0f\\xae-v\x02\xb2\x02a\x80(\x00\x03\xdd\x88\x94\xe2\xbc4\x878\x05\xedj\x12\xf8\\xf0\x17m\x86\xa3If\x07\x81X\x87\\-\xc5\xdbc\xaaG\x02%\x89t\x82\r\x99\x9e\\x84H)\xe5\xa4:\x00\xc5\xec3\xbb-f`\xae\xae\x18\xbd\xc1\xde\r~D-Z\xdc\x14Zro\\xf1\xc3a9}\xe5\xdek\xd9\xae\xdf3\x90\xe6\x1ctM\x8az/&\xc5,\x95\xdb\xb8\r\\x1b\xab\xab\x14\x17\x9b\xceH\x80fw\x9bBSY=\xde#\x81~\x88`7@\xd6\x1d\xee\xfb\\xec\xfag\x15G\x85\x89\xfd\x8a0\xea\xf6\x86\x97\xfe Z\xb4\xf8\xfe\xd1\x92{\\x8b\x1f\x08y\xb2(\xd29\xb9\xd4\x16T\x04-\x08\xa5B\x92\xf3\xa0c\xb8\xb8\xdf\\xa1u\x06\xcb\xef\xdbe{\x13\x0cP\x15bu\x89\x8c\xdeh\'\xed\xbc\xefH\xc6!\xa3\\xf2\xad`\x07\x0c\xd1\xeb|KR\xccRV\xbd\x86\x023c4<h=\xf7\x16\xb7\x13-\xb9\\xb7\xf8\x81\xb0\x9a\xbdv\xfcL\x1b\xc9\xeb\x04\x14%\x12B/\x06\x83\x05\xa1\\x1f\xd3*c\xa5j\xc5\t*\xa9\x7f~\x02\r\xe0hZ[?\xc4\xe7\x1fG\xfe\xa9\x19`[eL\\x0by]\xf9\x80Y\x17\x961;*\xc6\xe4\xf0\xf1%?\x86\x16-~ \xb4\xe4\xde\xe2\x87\\x80\x19\x95je;md1\x02 B^B\x08tB\x00\x10\x02\x83.\xadRV\xbcEl7\xcd\xf7j\xf4\\xaa\xf5Y\xcc\n\xf6^\xb6\xa1\xb1\xdd\x9e\xa12d\xb4\xd5\xae\xfb\x08\xaa\xad\\xef\r&\xc3\xbd\xfd+}\x1e-Z|\xefh\xc9\xbd\xc5\x0f\x81dq\xa2dnc\x96\x15\x99\\xfa\x15\xdb5\xeb\xa7\x05\x08\xd4\t\xc1@@\x18t\xb5?S\xed\x7f\xce\xb8!\xf6I\\xdc\xcb\x91\xb4\xa5\x05v\x1e\xd58\xa8\xa2\xf5\xc69QU)P\x8c\xfb\x8f>\xbf\xc4\G\xd0\xa2\xc5\x0f\x8b\x96\xdc[\xfc\x10XM_\xdaLD\x93\xc6\xb2u7\xcd\xddI\xce\\xf0\xf8\xbd\xdf\xc1*\xb5&\xf8\xb6\xa3\xb8\xce\xe8N\xb6\xd7\xd6\xd5\xf9\xbd\\x91f\xe3\xbfq\x8f\x14\xca&\xccx\x16\x123\x13L\x92\xccx4>x\xff\x9d\xb7h\xf1\\x81\xd0\x92{\x8b\xef\x1dE\xb6\xca\x93y\x95\xb2\x82\x8a,\x1b\xb2\xdd!\xc9\\x99A\xdd\x9a~w\xf93\xdb\xc1h\xcav\xde\xb6\xd5e\xc2\xc0\xe3q\xf7(\xe1\xd6{\\x8b\xcc\xa6\xfa\xb0\xb5z\x98\x15\xf3\x83\xc7_\\\xeaCh\xd1\xe2\x07FK\xee-\\xbew,\xcf^\x19\xfa\xa4Z\x06d\x03\xfe\x88T\x02e\x05\x98\xd1\x8d\x00\xcd\xef\\x1dJ\x0b\xce\n4B\xb1\x1e\xa1o\x93\xed\xf5!\xac\xfe1>\x8f3W\x14oK\xf9\xda<|x\\xdd\x84N\xbda\x0c\x86\x93V\xb6\xb7\xb8\xe5\x10\x1f\xba\x01->r\xb0\x92\xc9\\xe2mc\x18\x91\x86_\xfa\xd1l\xb16\x88^\x91\x15Xgf\xa8(\x11z1\xf5b\x7f\xee={6\\xaa\xcbv\xff"\xdc|\x8f\xba\x8aw\xff`\xb3b\xec\xbf\xc6b\xd5@F+\xdb[\xdc\x01\\xb4\xe4\xde\xe2\xfbE\x91\'\xaa\xac\xea\t4e\xbbG\xf4\xd5\xb27CS!\xb1\xca\xaa\\x84\x99nD\xc3.E\xc2*nw\xd0fT\xb4vz\xcf\x93\xe1\xc6\xb2\xf3pH\x13\xb7}\x00hd\\xe8\x90+k\xd0\xca\xf6\x16w\x02-\xb9\xb7\xf8~\x91,\xde\xd9\x02\x8f\x00j\x02\\x9b\x1b\xf3`T\xc4^\x9bKI*\xacR.\xa5\x99W)\x10\x18t\xa9\x17Ws1y\xb2\x9d|\xd2\\xde\xc2\xe3u\xba\xf7d\xbb\xd7\x82m\xd0\x8d\xd7\xb3/=8\xfa\xe2\xc2w\xdf\xa2\\xc5\x07CK\xee-\xbeG0\xab\xd5\xec\x8dY\xa8\x0f\\\xf2\x86\xaa\xda\xb2.fC\xfd\\x0c\x80\xe6\xf7e\x86\xb4`wl7\xa6a\x97\xe2\xc0X(\xe4\x1f\xb0\xc1\xed\r\xd9\\xceM\xd2w\xb2\x1df@\xaa.|\xe3\x8d\x87\x82\xcd\xf0\t\x88B\xd1\xfe\xd5\xb4\\xb8\x03h\xbf\xa6-\xbeG\xa4\xcbSY\xa4.\x17\xc6\xc6)\x81\xcd\xa4F\x06je\xbe6\\xc0X\xe7Xe,\x95\x89u\x86\x01\x06=\x1at\x10\x08=\xdb\xf5Ud\xbb\xb7\xcf{d\xbb\\x8e\xb4\x86\x01\x92\xd5\xf4\xfc\xbbn\xd1\xe26\xa0\xcd\x96i\xf1=b5{\xedB\xa9\\xb5I\xeb\xaa\xc2\x90\xd4\x0c\xb3z\xe0Z\x8e9\x88\x90\x17(%w#\x8a#s\\\'\xa2(D\V \xc9\xab\xb1Nh\xb2\xba\xf7\xa6N\xfa\xec\xc9vx\xb2}\x83\xeb\x8dl\x17\x84<[_\\xf2ch\xd1\xe2\x03\xa0%\xf7\x167\x06f\xc5\xb2T\xaa\x94\xb2`Y\x14y\x9a,O\x88@\\xb4e&T\xf2\xdf\xb82\xec~\x18\xb3>\xe2\x88\xadq\xaf\x18\xeb\x8c\xf3\x12\xbd\\x98\xc2\xc0\xac\xec\xc5\x14\x87H\x0bd9JU?\xd0\xbe\xbf\xa0l\'\x7f\xab\xf5\\x8ct\xac5\x08\x08\x80,\x8b\xab}>-Z\xfc\x90h\xc9\xbd\xc5\x15\xc1\xacd\x91\\x95\xf9\xaa\xc8\xd6e\xbe.\xf3\xa4,2\xa5J%%\xa0*\x0b}S\x98Wy\x91n\xdb\xfbe\\xbb;\x87^YH\x94\t\xc7!\xba1\x05\x02\x00\x84@\xbfC\xdd\x08YAi\xc1E\xc9\xb5\\xdeA?;4e;|\xd9\xee7w\xb35\x82\x10\x98\x0e\xa653[\xdc\x01\xb4\xe4\xde\xe2\\xa2P\xb2(\xd2E\x9e-e\x91\x95ERf\xeb\xb2\xccX\xd5\x86\x8dz\xe1L\x10Y\x02\xb7\Vz5\xf3\x86M\x94q\x82\x9e\xea#T\xb7\xcav\x1fz\xd0h\x9asVp\x1cR\x1cQd\xca\x8d\Q\xaf\x83nLy\xc9E\xc9y\t\xc7\xf2~|u\x8b/\xef\xdd\x82\xeb\x16\x8clg\x10!\x0eI\_4\xee\xf6/\xfe\xa1\xb5h\xf1\xa1\xd0\x92{\x8b\xf7\xa0\xcc\x93lu\x9a\xaeN\xf3\d.e^\x97\xd9d\xd9\xdc/\xd3\x0e\xd8\x05\xf2\x18\xdb\x99\xed\r\x98\xe9\x92\xb6\%\xc9\xf8\xd9*z$\x11\xf9\xa5y\x99u\x01\xf7\xb4@Zp\x14\xa2\x1bQ\x14B\x1bA\x9d\\x88:\x91P\xccE\xc9\xba\x0f(\xa5\xab\xd2nO`\xfd\x16\'\xdb\tP\x9eE\xa3\xefN\\x08\xc4\x01\x84\x1dr5\x9a<\xb8\xca\xe7\xd8\xa2\xc5\x0f\x8b\x96\xdc[l\x87\\x92y\xba:K\xe6o\xd3\xd5)\xb3\xf28\xddIpo\xd8)\x19u\xed\xbb\xdcU\xb0\xd4\'e/\\x03\x12U\xb5\x99\x06\xe7\xd7\xb3[\xcc\xe0!/S\x9e\xc0\xf5\x8b0#/9/9\x14\xd4\\x8d)\x8eH\xd8pm\x1cR\x1cB*-\xe49/\xb8\x90(\x95.\x11CF\xa5\xb3\x97\xcf\xe3NL\$\x08a\x88\x80\xaa+v\x07\xfb\x9dv\xd2\xd4\x16w\x01-\xb9\xb7\xa8\x839[\x9f\\xad\xe7o\xd2\xe5\x89\x94\x85\xc7\xd6>\xffRC\x8f;;\x86\xbc\xa8h%\xdb=\x8a\\xf7\xce\xe1\x9dq\x1b\xb7\xfb<\xabG\xfd\xd7f\xd4\xf0\x03\xa45/\x9e\xf35\x07\\x82:\x11u"\n\x03\xe3\xa5\x08\x81NDqD\xdc\x85b\x14\xa5*%\x15\x92KI\xb59Q\x15\\x88 \x88\x84\x80\x10\x10\x96\xf1\xf5C\x83b:x\xf8\xe5\x85?\xca\x16->$Zroa\\xa0d\x9e\xcc\xdf\xae\xa6\xaf\x8al\xc5\x9eW\xb13\xf1\xdc\x89i\xa3\xbd\x9b\\xbb\xf9\xf90~Y\xddJ\xaa;\xcd\\;\xab\x9b\xe6\xba~\xb6\xa6l\xf7=\x9bjQ\xb7G*^\\xa5\xbc\xce\x10\x05\x14G\x14G\x14\nbb(\x00\x08\x04(\xa48\x04@\xca\xf6\x13\\x8a\xc1\x8aK\x05\xa5 \x19J\xe9\xc4y\xd3\x1a"(\x85\xa8\xbf\xdf\x1f\x8e\xcf\\xfb\x10[\xb4\xb85h\xc9\xbd\x05d\x91\xae\xa6/W\xb3W\xb2,\xfcq\x99h*o\xae\xaf\\xddE\xfa\x8d\xa3ky(u{}\x83\xd9}XO\xc6\t\xe7sd\xbb\xdb\xddKa\x043\xb2\x82\\xd3\x82\x05!\n)\x0e)\n\x10\x04\x04=Y\x1e\xdb\x07\x02\x00\x80 "\xe6\x80t\\xe1\x1a\xa5 \x15I\xc9\x92QJ\xe4\x12O\x1e\xb7\xb2\xbd\xc5\x9dAK\xee\x9f4\xca\<Y\x9d}\xbb\x9e\xbfe%\x01\x04\x02\x9bU\x00\x94\xad\x92\x88\xba\xeb\xf2~p\x95\*cVp\xa5\xf2\x9b\x95y\xeb\x07mf@\xba7M[\xdf\x9c\xd8\xdb\xd3\xef\x9d\xc8\xdcB\\x92s\x921\x11\x02\x810\xa00@ \x10\x08\xf2\xa3\xbel\xbb\x04\xf2,\xfe\x92\x91\\x15P\n\xc3\xbd\x83\xfep\xef\x82\xb7\xde\xa2\xc5\x07GK\xee\x9f(d\x99\xad\xce\\x9e\'\xf3\xd7,\x0b\x02t\xea6\xd9\x14\x97M\x93\x85A\xac\xfd\n~\x8f\xe0\xd6{;\\xf8\x9e\x8cY\xb6\xbb\xd0f0u#\x03\x92\xacl\xdfq\xfa\xdab-\x8b\xddu\x02\xce\\x91\'(\x86,\x91\x15\xcae\xc7\x10\x19c]\x10\x84 \x06\xa4d\x06\xa4\x82R\xac@`\\x021\x11=z\xf2\xa3s\xef\xb9E\x8b\xdb\x85\x96\xdc?=0\xafg/\x97\xa7\xdf\xaa23\kh;\xad\xbb\xb8\xa8\xc9\xf7\x0e\x10\x01\xacP*\x96\n[\xe7\xad6Wp>\x8e\x9f\xcf\\xee\x9fu\xc7\xb1[3 m\xab\xab\xf6\xbb\xe4\xf8\x9a\xf9\xbe-i\xdd\x8eT\xf2@6\\xbf\x86I)(\x9b-\xe3\xfc"\xcf}"\xb2y2\x83\xf1~o\xd0&\xc9\xb4\xb8Kh\xc9\xfd\\xd3B\xb6>[\x1e\x7f]\xa4s\xb7F\x9b\x12\xef\xa1u\xbbJk\xfc\x8e \x05H\xc9\x85\\xb4\x14_wRj!NOWo!\xf4\xdd\xb2\xddm"\xafY\xfep\xa4\x8d\xd3{?\x1b\xbb\xd5\xb6\i9o\xdaHdGT\xd9J\x90\xd5\xd5\xbc\x1b\x9b\x1c<\xdcl\xfbN0\x17\xab\xd7\\\xcc\\xa4\xa2\xb0\x7f?\xea\xb5\xc5\xdf[|\x00\xb4\xe4\xfe\xa9@\xc9bq\xf2M2}YM"gi\\x9d\xacr7\xb0v\x89Mi\xacgA\x02\x00\x04!\x08)\x0cPH.e\xe5\x9c\xf8J\xba\x96\\xdb\xee\'\xaa\xdb\xa5\xad\x03\x97\x1akL(\x95\xabew\xfa]\xb2}\x17\xf5\xf3\\xb6E\x1b\x06\xd8\xcc\xcf1maF\xdc\xe9O\xf6/1pi={Q.\xbea\xc5\x00\x17\xcb\xd7y\w\x12\x8f\x9eE\xbd\xfd\x8bG+Z\xb4\xb8>Zr\xff$\x90\xad\xcf\xe6o\xffP\xe6k4h\\xdd\xcfF\x07\xe0rZljKC\xcb7\xd8W\x10\xba\x11\x95\x01\xf2\x82\x95\xb2\xfb\\x93\xe7t{\x1c^\xd5\x80\xe4-y\x93\xb5\x89\xec\xaa\x95[d{\xed\xa0\x8d7n\xc1\\xb5a\xb3\x9eLM\xde{\xb7\xed\'\ny\xb2\x9d\x1f=\xf9\x92.\\\xc3\x9dY\x15\xab7\\x90\xb2\x94\xac\x18D\x08\xd6S\x99N\xd3\xce\xb83\xfe"\xeeM.x\x9e\x16-\xae\\x89\x96\xdc?v0/N\xbf]\x9e|\x03+\xd8\xa9.\xd8\xbdL\x11\x18\x1b\xa6\x1e\xe6\\xac\'/n\xe9\t\xa2\x00\x81 =\xf2\xd3\x9c\xc7s\xba\xdd\xfeF\x98s\xf5\xb6\xd6\\xcc\xc6\xb2\x16\xfb>\xb9_@\xb67\xec\xf5\xeb\xcbv\xa5T\xa7?\xee]&\xb7}\xf9\\xf6w\x9d\xb0`\x11\x05e)\x15K\xc9\xa5d\xa9\x10\xa8\x19g\xff\x9ew\x0f;{O\xa3\\x96\xe2[|\xff \xde\x94C->\x16\xb0\x92g\xaf\xfe+\xd5uw\xb1!\xd8\x1b\x94M\xf5\\x19\x91\xea\xb4\xbe\xc9\xe9\xd8X\x93\x17\x9c\x15Mzu3.5\xc6\xab6\xdc\xf6\xaa\S\xe0\x8a\xd9\xab\xf4v\xa3\xb8k\xe4\xee"\x9f\xcc\x1b?\xed!n%\xdb\x9fv=W\xe4\\xbeQRF\x07R\x99\x15\x89\xa87\xfeQ\xd4\xe9\x1eNz\x83\xe1\xfb\xeb\x85\x95y2{\\xfe\xcf\x04\xa5C\x11B\x98\x8a\x95Z\xc5\x03\x08\x04\x05\x02A\xf7 \x1a=\x89\\xfb\xad\x17\xdf\xe2{D\xab\xdc?Z\xc82\x9b\xbe\xfam\xbe>s\xcc\xae\xb3\xd8\xc9\\xbc!\xc0\x0f\x1e\xd6\xca2n\xa7\xf5F\xc1\x00\xf6v`\x00\x88#"\xc1i\xeeU\x7f\\xb4\x9b4\xa5\n\xf2\xc8\xdbC3\xf2\xa9\xdf:\xd9n]\x94+\xbb\xed\x8d\xc5\x8b\\xc8v\x06\x83h\xb4\xff\x99\xa4\xeebU\xe4y\xb9\x9fe\x93\xf1^\xa0K\xc8\xef\x80\,R\xa5\x94\xb0\x1f\x94RJ)\x12\x02a@\x0c\x94N\xc5\xafO\xcb\xf44\xefL:{\xcf\\xa2\x96\xe2[|?h\xc9\xfd\xe3D\x91-O_\xfc\xa7,\x12a\xd3`<+F\xffW\xc5=\xe9R\\xb4\xee\xb1\xe1f|0\x0eH\xc4\xbc\xce\xab\xa1@\xf6"(%\xb3@\xd0x:\x80u\xe7\xad\:7\xeb\xb6P\xf7vl\xee\xb0\xe9\xb6{\xda\xbf~v\xd8\x87\x8eM\xb7\x9d\xe5p\xf2\\xb8;\xdcO\xd32\x8a\x82\xbcT\xefN\xf3uzv0\xee\xf5\x07}\xda|x\xd1\xc7\x8a\x90\\xcc\xa3\n\x03P\x1c\x00\x0c%\x95\x12BP\x1c\x92bh\xa3\x86\x14\x94\x9a\xcal\\x1av\'\xd1\xe8i\xd4\xdbo\xcb\xc4\xb7\xb8Y\xb4\xe4\xfe\x11"[\x9d\x9e\xbe\xfc\oVE\xc5\xec\r\x9f\xddS\xdd\x8e\xd9\xdfK\xeb.\xc4\xb8E{\xdbe\x06\xc2\x90\xfa\\xc4\xeb\xcc&\xb9\xdb\xbd\x03\x81\xbc\x04\x85h\xc4&]\xbd]\xbf\xd6\xe4y\xb2\\xddo\xff\x86,?\xdfd\xf4e\xbbkx\xdd\xa97\x86L\x18\xf5\xc6\xfb\x8f( \x82\x08\\x02\xcar\x95\x17r\xb1,\xb3l5\x1ef\x93\xc9(\x8a\xa3\xcd\xf3\x07a\xcc\x10\x84\\x92\xc2\xbe\x8c\x1f\xa7\xb2W\x14e\xcc\xd3\x0e\xbfe\xa5\x94\xa2 \xa00\xa4\
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -