aboutsummaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
...
* | Clear remote location upon disablingPierre-Luc Beaudoin2009-06-011-17/+31
* | Fix key freeingPierre-Luc Beaudoin2009-06-011-6/+6
* | Implement reduced accuracyPierre-Luc Beaudoin2009-06-011-1/+49
* | Send timestampPierre-Luc Beaudoin2009-06-011-0/+22
* | When updating the resources, check for changed locationPierre-Luc Beaudoin2009-06-011-1/+14
* | More ressource fixPierre-Luc Beaudoin2009-06-011-20/+22
* | Initial position/address and ressource fixPierre-Luc Beaudoin2009-06-011-10/+48
* | Should not be elseifPierre-Luc Beaudoin2009-06-011-3/+3
* | Publish location when enabling itPierre-Luc Beaudoin2009-06-011-2/+6
* | Support all position fieldsPierre-Luc Beaudoin2009-06-012-9/+43
* | Support address fieldsPierre-Luc Beaudoin2009-06-011-4/+28
* | Publish location after connection and when location changesPierre-Luc Beaudoin2009-06-011-12/+82
* | Add EmpathyLocationManagerPierre-Luc Beaudoin2009-06-014-0/+404
* | Add a Location tab in preferencesPierre-Luc Beaudoin2009-06-014-6/+329
* | Configure bits for geocluePierre-Luc Beaudoin2009-06-012-2/+4
* | Merge commit 'ksz/can_stream_tube'Guillaume Desmottes2009-06-013-26/+55
|\ \
| * | Add the method empathy_contact_can_stream_tubes in the empathy-tp-contact-fac...Arnaud Maillet2009-06-013-26/+55
* | | add chat.freenode.net as default FreeNode server (#584061)Guillaume Desmottes2009-05-311-0/+1
|/ /
* | Small updateGabor Kelemen2009-05-311-5/+5
* | Cope with status icon begin NULLSjoerd Simons2009-05-311-1/+2
* | Cope with status being NULLSjoerd Simons2009-05-311-2/+2
* | Remove usage of McPresence as much as possibleSjoerd Simons2009-05-3120-307/+370
* | Ensure a minimum size of tabs in the chat windowSjoerd Simons2009-05-311-8/+24
* | fixed bug #548716Dimitris Zenios2009-05-304-0/+37
* | Fix the python exampleOlivier Le Thanh Duong2009-05-291-1/+2
* | Fix ‘lat’, ‘lon’ may be used uninitialized in this functionPierre-Luc Beaudoin2009-05-291-1/+1
* | Merge commit 'origin/master'Davyd Madeley2009-05-289-601/+21
|\ \
| * | new tube API is now stableGuillaume Desmottes2009-05-283-20/+19
| * | bump tp-glib dep to 0.7.31 as we need it for tube new APIGuillaume Desmottes2009-05-281-1/+1
| * | stop to generate tube new API extensionsGuillaume Desmottes2009-05-285-580/+1
* | | EmpathyStatusPresetDialog: fix status_preset_add_combo_reset()Davyd Madeley2009-05-281-1/+8
* | | Highlight the most recently added entry in the status presets dialogDavyd Madeley2009-05-281-1/+35
|/ /
* | empathy-call-window: coding style fixGuillaume Desmottes2009-05-281-1/+1
* | empathy-tp-contact-factory: coding style fixesGuillaume Desmottes2009-05-281-2/+2
* | empathy-time.c now contains translatable stringsGuillaume Desmottes2009-05-281-0/+1
* | updating Punjabi TranslationA S Alam2009-05-281-606/+852
* | Only do sounds/notifications for text messages when they involve the userSjoerd Simons2009-05-281-13/+9
* | Correctly set the is_member flag when members are addedSjoerd Simons2009-05-281-1/+1
* | Treat TP_CONNECTION_PRESENCE_TYPE_UNSET as _AVAILABLESjoerd Simons2009-05-281-1/+1
* | Add sections to the configure reportPierre-Luc Beaudoin2009-05-281-3/+6
* | Should check for enable location and not map (bad copy/paste)Pierre-Luc Beaudoin2009-05-281-1/+1
* | Improve code readabilityPierre-Luc Beaudoin2009-05-281-8/+11
* | Don't need to check twice if location has latitudePierre-Luc Beaudoin2009-05-281-6/+1
* | Fix English label for Location's datePierre-Luc Beaudoin2009-05-281-1/+1
* | Use the layer to list the markersPierre-Luc Beaudoin2009-05-281-7/+3
* | Move the geoclue geocoding in EmpathyTpContactFactoryPierre-Luc Beaudoin2009-05-284-119/+134
* | Fix memory leakPierre-Luc Beaudoin2009-05-281-0/+1
* | Fix translation and value errors for relative timePierre-Luc Beaudoin2009-05-281-2/+1
* | Disconnect from notify::locationPierre-Luc Beaudoin2009-05-281-2/+19
* | Move the geocoding to when the location is updatedPierre-Luc Beaudoin2009-05-281-43/+44
* | Avatar was leakedPierre-Luc Beaudoin2009-05-281-0/+1
* | Don't need to keep the address aroundPierre-Luc Beaudoin2009-05-281-6/+2
* | Don't need to set back if it is the same hashtablePierre-Luc Beaudoin2009-05-281-5/+1
* | Display relative time to userPierre-Luc Beaudoin2009-05-284-5/+69
* | Fix possible compilation errorPierre-Luc Beaudoin2009-05-281-1/+1
* | Simplify the #if by isolating the contentPierre-Luc Beaudoin2009-05-281-4/+2
* | Simplifly the logic on when to display the locationPierre-Luc Beaudoin2009-05-282-56/+60
* | Geoclue is not used in libempathy-gtkPierre-Luc Beaudoin2009-05-281-2/+0
* | Use empathy_time_to_string_localPierre-Luc Beaudoin2009-05-281-14/+8
* | Remove unneeded elsesPierre-Luc Beaudoin2009-05-281-4/+0
* | Print library usage in new configure reportPierre-Luc Beaudoin2009-05-281-0/+2
* | Don't create a marker if the user has no locationPierre-Luc Beaudoin2009-05-281-4/+10
* | Don't list timestamp in the location fields as it is already included in the ...Pierre-Luc Beaudoin2009-05-281-0/+3
* | Use tp_strdiff instead of strcmpPierre-Luc Beaudoin2009-05-281-24/+24
* | Have better user labels for location valuesPierre-Luc Beaudoin2009-05-281-4/+65
* | Fix double border issue in the Map ViewPierre-Luc Beaudoin2009-05-282-9/+9
* | Move geocoding in a place where we can have better memory managementPierre-Luc Beaudoin2009-05-281-30/+53
* | Display user textual location even if it doesn't include a lat,lonPierre-Luc Beaudoin2009-05-281-12/+12
* | Simplify and clarify map_view_geocode_cbPierre-Luc Beaudoin2009-05-281-11/+12
* | Don't allow the user to display many map viewsPierre-Luc Beaudoin2009-05-281-3/+3
* | Fix coding styles and memory leaks found by Guillaume DesmottesPierre-Luc Beaudoin2009-05-281-12/+18
* | Undo changes to EmpathyContactDialogsPierre-Luc Beaudoin2009-05-281-1/+1
* | Fix gtk warning at startup when not compiled with libchamplainPierre-Luc Beaudoin2009-05-281-2/+2
* | Fix coding style issues found by make checkPierre-Luc Beaudoin2009-05-282-2/+2
* | Add the new UI to translation filesPierre-Luc Beaudoin2009-05-281-0/+2
* | Make map visible!Pierre-Luc Beaudoin2009-05-281-0/+1
* | Fix licensing: should have been LGPL 2.1+Pierre-Luc Beaudoin2009-05-282-20/+18
* | Make buildable and visible if libchamplain not availablePierre-Luc Beaudoin2009-05-282-2/+2
* | Apply new coding stylesPierre-Luc Beaudoin2009-05-281-44/+49
* | Remove dead code and update function namePierre-Luc Beaudoin2009-05-281-12/+7
* | Update to use libchamplain 0.3's APIPierre-Luc Beaudoin2009-05-283-14/+20
* | Make buildable without GeocluePierre-Luc Beaudoin2009-05-281-20/+7
* | Fix contacts not showing on the mapPierre-Luc Beaudoin2009-05-281-1/+2
* | Get rid of disconnect which is undeededPierre-Luc Beaudoin2009-05-281-28/+4
* | List geolocation information in TooltipPierre-Luc Beaudoin2009-05-282-14/+91
* | Fix a warning if the handle doesn't existPierre-Luc Beaudoin2009-05-281-1/+3
* | Use its own ListStore of contacts instead of borrowing the ContactPierre-Luc Beaudoin2009-05-283-3/+9
* | Build fixDavyd Madeley2009-05-282-2/+6
* | Expect the timestamp to be a int64Pierre-Luc Beaudoin2009-05-281-17/+18
* | Show contacts without an avatarPierre-Luc Beaudoin2009-05-281-11/+10
* | Remove signal handler when closing the windowPierre-Luc Beaudoin2009-05-281-1/+31
* | Don't init vars with a functionPierre-Luc Beaudoin2009-05-281-1/+2
* | Add marker on mapPierre-Luc Beaudoin2009-05-281-0/+10
* | Display timestamp and locationPierre-Luc Beaudoin2009-05-281-29/+76
* | Use EmpathyContact's locationPierre-Luc Beaudoin2009-05-281-12/+140
* | Add a map in the Contact Information dialogPierre-Luc Beaudoin2009-05-285-4/+104
* | Add a Contact Map windowPierre-Luc Beaudoin2009-05-287-0/+351
* | Configure bits for libchamplainPierre-Luc Beaudoin2009-05-282-1/+67
* | Copy GHashTable received from Dbus and refactorPierre-Luc Beaudoin2009-05-281-13/+24
* | empathy-tp-chat: fix leak in disposeGuillaume Desmottes2009-05-261-1/+1
* | When initializing users' avatar, the pixbuf representing it is nowJonathan Tellier2009-05-261-1/+1
* | When no video is received or sent we show contacts' avatars instead of showingJonathan Tellier2009-05-263-10/+143
* | Bump version to 2.27.3Xavier Claessens2009-05-261-1/+1
* | Write NEWS entryEMPATHY_2_27_2Xavier Claessens2009-05-261-0/+17
* | Bump ABI versionXavier Claessens2009-05-261-2/+2
* | Display a report at the end of configureGuillaume Desmottes2009-05-251-0/+17
* | Updated Spanish translationJorge Gonzalez2009-05-241-33/+41
* | move 'View Previous Conversations' menu entry to ViewGuillaume Desmottes2009-05-232-8/+8
* | move 'show offline contacts' menu entry to ViewGuillaume Desmottes2009-05-232-8/+7
* | move 'show file transfers' menu entry to ViewGuillaume Desmottes2009-05-232-6/+6
* | empathy-main-window: add View top menuGuillaume Desmottes2009-05-221-0/+8
* | Merge commit 'ksz/fix-bug-583558'Guillaume Desmottes2009-05-222-21/+77
|\ \
| * | Rename OfferStreamTube and AcceptStreamTube to Offer and AcceptArnaud Maillet2009-05-222-21/+77
* | | Error label now translatableGabriel Millaire2009-05-221-2/+2
* | | Set treeview insensitive and hide error messageGabriel Millaire2009-05-221-0/+6
* | | Display error message in UIGabriel Millaire2009-05-221-3/+18
* | | Fixed call with listGabriel Millaire2009-05-221-1/+1
* | | Added border, resized error icons, fixed item names and made error message in...Gabriel Millaire2009-05-221-4/+6
* | | Error bar UI protoPierre-Luc Beaudoin2009-05-221-26/+106
* | | Connect to error signalsGabriel Millaire2009-05-221-0/+29
* | | Signal "error" is detailedGabriel Millaire2009-05-221-1/+1
* | | Implement error signalGabriel Millaire2009-05-221-4/+17
|/ /
* | empathy-chat-window: add Contact menu as top-level (bgo #580922)Guillaume Desmottes2009-05-222-0/+16
* | remove Conversation->Contact menu entryGuillaume Desmottes2009-05-222-21/+0
* | Force update of GtkEntry primary icon for ENTRY_TYPE_BUILTINDavyd Madeley2009-05-221-0/+3
* | Merge commit 'istaz/python-empathy-fix'Xavier Claessens2009-05-211-1/+1
|\ \
| * | Fix GstBin import problem in the python bindingOlivier Le Thanh Duong2009-05-081-1/+1
* | | Remove hard-coded strings from (un)subscriptionsWill Thompson2009-05-212-4/+2
* | | Added ta translationdrtvasudevan2009-05-211-0/+1
* | | Updated Tamil translationdrtvasudevan2009-05-201-38/+49
* | | Updated Tamil translationdrtvasudevan2009-05-201-0/+0
* | | Updated Tamil translationdrtvasudevan2009-05-201-37/+79
* | | added Tamil translationdrtvasudevan2009-05-201-0/+2069
* | | Bump version to 2.27.2Xavier Claessens2009-05-191-1/+1
* | | Fix NEWSXavier Claessens2009-05-191-3/+2
* | | Improve a bit the release notesXavier Claessens2009-05-191-2/+4
* | | Update NEWS for 2.27.1.1 releaseEMPATHY_2_27_1_1Xavier Claessens2009-05-191-0/+15
* | | Add documentation translation to NEWSXavier Claessens2009-05-191-19/+27
* | | Bump ABI to not conflict with abi in 2.26 branchXavier Claessens2009-05-191-2/+2
* | | Updated Spanish translationJorge Gonzalez2009-05-191-45/+54
* | | updated Greek documentation translationΓιάννης Κατσαμπίρης2009-05-181-194/+730
* | | upgrade Python bindingsGuillaume Desmottes2009-05-182-3/+33
* | | document empathy_call_factory_new_call and empathy_call_factory_new_call_with...Guillaume Desmottes2009-05-181-0/+16
* | | document empathy_call_handler_new_for_contact_with_streams and empathy_call_h...Guillaume Desmottes2009-05-181-0/+18
* | | add 'Video Call' entry to the Contact menuGuillaume Desmottes2009-05-182-2/+39
* | | empathy_contact_audio_call_menu_item_activated: use empathy_call_factory_new_...Guillaume Desmottes2009-05-181-1/+1
* | | empathy_contact_audio_call_menu_item_new: change label to 'Audio Call'Guillaume Desmottes2009-05-181-1/+1
* | | rename empathy_contact_call_menu_item_new to empathy_contact_audio_call_menu_...Guillaume Desmottes2009-05-182-6/+6
* | | Show an audio and a video call buttonSjoerd Simons2009-05-184-16/+96
* | | Allow the call factory to create calls with specific types of mediaSjoerd Simons2009-05-182-3/+17
* | | Change empathy_tp_call_to to indicate with what media streams we want to startSjoerd Simons2009-05-182-3/+14
* | | Allow handlers to be created for streams with initial audio and videoSjoerd Simons2009-05-182-2/+47
* | | Tweak the properties of various elements for a better voip experienceSjoerd Simons2009-05-181-0/+48
* | | Let configure also check for farsight2Sjoerd Simons2009-05-181-0/+1
* | | enable coding style checks in libempathy-gtkGuillaume Desmottes2009-05-181-2/+11
* | | empathy-account-chooser: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-14/+14
* | | empathy-account-widget-irc: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | empathy-account-widget-sip: fix coding styleGuillaume Desmottes2009-05-181-2/+2
* | | empathy-account-widget: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-12/+12
* | | empathy-audio-sink: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | empathy-audio-src: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | empathy-avatar-chooser: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-6/+6
* | | empathy-avatar-image: update FSF addressGuillaume Desmottes2009-05-182-4/+4
* | | empathy-cell-renderer-activatable: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | empathy-cell-renderer-expander: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-8/+8
* | | empathy-cell-renderer-text: update FSF addressGuillaume Desmottes2009-05-182-6/+6
* | | empathy-chat-text-view: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-12/+12
* | | empathy-chat-view: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-15/+15
* | | empathy-chat: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-15/+15
* | | empathy-conf: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-5/+5
* | | empathy-contact-list-store: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-8/+8
* | | empathy-contact-list-view: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-12/+12
* | | empathy-contact-menu: fix coding styleGuillaume Desmottes2009-05-182-3/+3
* | | empathy-contact-selector: fix coding styleGuillaume Desmottes2009-05-181-2/+2
* | | empathy-contact-widget: fix coding styleGuillaume Desmottes2009-05-181-5/+5
* | | empathy-geometry: update FSF addressGuillaume Desmottes2009-05-182-4/+4
* | | empathy-images: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | empathy-irc-network-dialog: fix coding styleGuillaume Desmottes2009-05-181-2/+2
* | | empathy-log-window: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-8/+8
* | | empathy-new-message-dialog: fix coding styleGuillaume Desmottes2009-05-181-5/+5
* | | empathy-presence-chooser: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-6/+6
* | | empathy-profile-chooser: fix coding styleGuillaume Desmottes2009-05-181-2/+2
* | | empathy-smiley-manager: fix coding styleGuillaume Desmottes2009-05-182-6/+6
* | | empathy-spell: update FSF addressGuillaume Desmottes2009-05-182-4/+4
* | | empathy-status-preset-dialog: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-6/+6
* | | empathy-theme-boxes: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-6/+6
* | | empathy-theme-irc: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-5/+5
* | | empathy-theme-manager: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-6/+6
* | | empathy-ui-utils: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-18/+18
* | | empathy-video-src: fix coding styleGuillaume Desmottes2009-05-182-4/+4
* | | empathy-video-widget: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | enable coding style checks by defaultGuillaume Desmottes2009-05-181-0/+9
* | | enable coding style checks in libempathyGuillaume Desmottes2009-05-181-0/+6
* | | empathy-tube-handler: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | empathy-tp-tube: fix coding styleGuillaume Desmottes2009-05-181-2/+2
* | | empathy-tp-roomlist: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | empathy-tp-contact-factory: fix coding styleGuillaume Desmottes2009-05-181-3/+3
* | | empathy-tp-chat: fix coding styleGuillaume Desmottes2009-05-182-7/+7
* | | empathy-tp-call: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | empathy-time: update FSF addressGuillaume Desmottes2009-05-182-4/+4
* | | empathy-status-presets: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-7/+7
* | | empathy-message: update FSF addressGuillaume Desmottes2009-05-182-4/+4
* | | empathy-log-store: update FSF addressGuillaume Desmottes2009-05-182-4/+4
* | | empathy-log-store-empathy: update FSF addressGuillaume Desmottes2009-05-182-4/+4
* | | empathy-log-manager: update FSF addressGuillaume Desmottes2009-05-182-4/+4
* | | empathy-irc-network: update FSF addressGuillaume Desmottes2009-05-181-2/+2
* | | empathy-irc-network-manager: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | empathy-types: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | empathy-tp-contact-list: fix coding styleGuillaume Desmottes2009-05-182-8/+8
* | | empathy-utils: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-9/+9
* | | empathy-idle: fix coding styleGuillaume Desmottes2009-05-181-2/+2
* | | empathy-dispatcher: fix coding styleGuillaume Desmottes2009-05-181-9/+9
* | | empathy-dispatch-operation: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | empathy-contact: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | empathy-contact-manager: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | empathy-contact-monitor: fix coding styleGuillaume Desmottes2009-05-182-4/+4
* | | empathy-contact-groups: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-6/+6
* | | empathy-chatroom-manager: fix coding style and update FSF addressGuillaume Desmottes2009-05-182-6/+6
* | | empathy-call-handler: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | empathy-call-factory: fix coding styleGuillaume Desmottes2009-05-182-2/+2
* | | empathy-account-manager: fix coding styleGuillaume Desmottes2009-05-182-6/+6
* | | Extract date of last tag instead of hardcoding it.Xavier Claessens2009-05-181-1/+10
* | | [help] remove invalid <year> element under <publisher>Frédéric Péters2009-05-181-5/+0
* | | Bump version to future 2.27 releasesXavier Claessens2009-05-183-3/+3
* | | Update NEWSEMPATHY_2_27_1Xavier Claessens2009-05-181-0/+58
* | | Bump ABI versionXavier Claessens2009-05-181-3/+3
* | | Update Makefile.am to generate changelog since 2.26.1Xavier Claessens2009-05-181-1/+1
* | | Update release scriptXavier Claessens2009-05-181-106/+39
* | | add empathy-call-window-fullscreen.ui to POTFILES.inGuillaume Desmottes2009-05-181-1/+1
* | | enable coding style checks in srcGuillaume Desmottes2009-05-181-3/+12
* | | disable tab coding style check for nowGuillaume Desmottes2009-05-181-5/+6
* | | empathy: fix coding styleGuillaume Desmottes2009-05-181-3/+3
* | | empathy-tube-dispatch: fix coding styleGuillaume Desmottes2009-05-182-3/+3
* | | empathy-preferences: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | empathy-main-window: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | empathy-import-pidgin: fix coding styleGuillaume Desmottes2009-05-181-1/+1
* | | empathy-event-manager: fix coding styleGuillaume Desmottes2009-05-181-3/+3
* | | empathy-chat-window: fix coding styleGuillaume Desmottes2009-05-181-5/+5
* | | empathy-call-window: fix coding styleGuillaume Desmottes2009-05-182-3/+3
* | | empathy-call-window-fullscreen: fix coding styleGuillaume Desmottes2009-05-181-3/+3
* | | empathy-accounts-dialog: fix coding styleGuillaume Desmottes2009-05-181-3/+3
* | | empathy_call_window_bus_message: init GErrorGuillaume Desmottes2009-05-181-1/+1
* | | empathy: update the FSF addressGuillaume Desmottes2009-05-181-2/+2
* | | empathy-sidebar: update the FSF addressGuillaume Desmottes2009-05-182-2/+2
* | | empathy-preferences: update the FSF addressGuillaume Desmottes2009-05-182-4/+4
* | | empathy-new-chatroom-dialog: update the FSF addressGuillaume Desmottes2009-05-182-4/+4
* | | empathy-misc: update the FSF addressGuillaume Desmottes2009-05-182-4/+4
* | | empathy-main-window: update the FSF addressGuillaume Desmottes2009-05-182-4/+4
* | | empathy-logs: update the FSF addressGuillaume Desmottes2009-05-181-2/+2
* | | empathy-import-pidgin: update the FSF addressGuillaume Desmottes2009-05-182-4/+4