CListCtrl 에서 깜빡임 없애기

2011.08.10 22:43 | Posted by 하트바다
MFC의 CListCtrl 을 가끔 사용하다 보면 전체 데이터를 업데이트 할 때 깜빡임 현상이 꼭 발생하곤 한다.
이를 위해 많은 방법을 동원한다.
일반적인 SetItem 을 하기 전에 Item 을 확인하고 같으면 그냥 넘기는 등의 나름 꼼수를 동원했었다.
이번에도 또 그런현상이 발생하길래...
한번 뒤져 보았다.

이런....

구글링보다 더 멋진 MSDN에서 나왔다.
comctl32.dll 의 Version 6.00 이상 부터 지원하는 기능이다.

LVS_EX_DOUBLEBUFFER
Version 6.00. Paints via double-buffering, which reduces flicker. This extended style also enables alpha-blended marquee selection on systems where it is supported.


라는 옵션이 생겼다.

그래서 간편하게...

m_lvAttInfo.SetExtendedStyle(LVS_EX_GRIDLINES); 



m_lvAttInfo.SetExtendedStyle(LVS_EX_DOUBLEBUFFER | LVS_EX_GRIDLINES);  

만 해주면 결론적으로는 깜빡임이 거의 없어진다.
역시 결론은 MSDN 검색의 일상화!!!!

 
TAG CListCtrl, MFC

Microsoft Office Communicator 2007 자동 로그인 설정하기

2011.06.30 09:31 | Posted by 하트바다

우리 회사의 사내 메신저로 공식 채택하고 있는 메신저는 Exchange Server 와 거의 완벽에 가까운 호환성을 보여주는 Office Communicator 이다.
그런데 Office Communicator의 가장 큰 불편한 점이 암호 자동 저장이 기본으로 지원되지 않는다는 것이다.

모든 것은 레지스트리의 값을 바꾸면 가능한 것 이었다.

총 2곳의 값을 바꾸면 된다.

[HKEY_CURRENT_USER\Software\Microsoft\Communicator]
"SavePassword"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Communicator]
"SavePassword"=dword:00000001

이 총 두군데의 값을 모두 1로 바꾸면 암호 저장 체크 표시가 뜰 것이다.

 
현재 Vista 이후 버전인 Windows Vista, 7, 2008, 2008 R2 버전에는 좀더 세련된 방화벽이 탑재되어 있다.
하지만, 예전 방화벽의 경우 현재 방화벽과 달리 기본적으로는 서브넷에 대한 방봐벽만 세팅이 가능하다.
그러다 사용자 지정에 관심을 기울이고 해보니 잘 되길래 이렇게 포스팅 한다.

1. Windows 방화벽을 연다.


예외쪽을 클릭해서 간다.


2. 파일 및 프린터 공유를 선택하고 편집 버튼을 클릭해서 편집창을 연다.



3. 서비스 편집에 가면 모두 4개의 TCP 와 UDP 가 있고 기본적으로 서브넷으로 설정이 되어있다.

모든 서비스를 편집을 아래와 같이 모두 같이 한다.
일단 편집할 이름을 선택하고 범위 변경으로 간다.


4. 범위 변경으로 간다.


기본적으로는 내 네트워크로 선택이 되어 있을 것이다.
여기서 사용자 지정 목록을 선택하고 직접 에디팅을 한다.

위의 경우는 192.168.0.1 ~ 192.168.255.255 까지 연결이 가능하도록 선정할 수 있다.
위 방법으로 모두 4개의 포트에 대해 위와 같이 설정하면 파일 공유가 가능하다.

원하는 트래픽에 대해 연결하고자 하면 위와 같이 적절히 서브넷을 설정하면 원하는 사람만 적절히 파일 공유가 가능토록 설정할 수 있다.

 
지난번에도 포스팅을 했었는데~
Visual Studio 2010 으로 바꾸면서 가장 불편했던 것이 바로 MSDN 라이브러리를 보는 기본 방법이 IE 등의 브라우저를 이용하는 것만 가능했던 것이었다.
그래서 지난번 Visual Studio 2010 개발자 포럼에서도 꼭 다시 원복 시켜달라는 것 중의 하나였다.

그런데 이번에 드디어 다시 포함되었다!!!  (올레~)
Visual Studio 2010 SP1 이 배포되었길래 아무런 생각없이 깔고 나니 MS 도움말 뷰어 1.1 이 딱 뜨는 것이었다!!!
 


아!!!
이제 드디어 브라우저에서 다시 해방이 되는 순간이다!!!
Visual Studio 2010 사용자는 이번에 반드시!!!  SP1을 설치해서 도움말 뷰어의 편리함을 다시 느끼길 바란다.

 

아이폰 3GS 부분 수리 받다!!

2011.04.04 14:24 | Posted by 하트바다
사람들이 아이폰의 수리정책에 대해 참 말들이 많았다.
나는 별 생각없이 살았으나 항상 불안요소 중의 하나는 내가 처음 구입했던 아이폰이  리퍼폰이었기 때문에 어떤 불이익이 있지는 않을까 하는 것이었다.

그런데 내 아이폰에도 사소한 문제가 생겼다.
볼륨버튼이 잘 안눌러지길래 그런가 부다~ 했는데 어느날 휴대폰 케이스를 새 것으로 바꿔 끼우면서 확인해보니 - 볼륨 버튼이 약간 들어가 있는 것 이었다.
거참 애매하게시리...
그때부터 살짝 고민이 생겼다. 이걸 어떻게 해야 하나....
그래서 고민끝에 아이폰의 수리를 하기로 결정!!!
아이폰 고객센터의 웹페이지에 가보니 KT 아이폰의 경우는 몇군데에서 지원 서비스를 하고 있었다.
그중에서 우리 회사에서 가장 가까운 곳을 찾았다. 대우일렉 서비스센터 분당지점이었다.

 
가서 실제로 A/S 받은 시간은 30분 남짓 걸렸다.
솔직히는 대기하는 사람도 별로 없었고 A/S도 엄청나게 빠른 편이었다.
그곳에서 확인해보니 볼륨버튼의 함몰은 확인했으나 이것은 리퍼 대상은 아니라고 얘기했다.
그래도 수리해달라고 얘기를 했더니 수리에 걸리는 시간은 10분 남짓....

그리구선 수리내역을 얘기를 하니....   이건 역시 애플 정책 다웠다.
수리라는 것이 앞 강화유리와 LCD를 제외한 모든 부품 교체!!!!
배터리를 비롯한 뒷 케이스, 그리고 안에 있는 보드까지 전량 교체가 되어 나왔다.
이러니 수리시간이 짧을 수 밖에!!!!
완전 새 아이폰을 받은 듯한 기쁨을 누릴 수 있었다.

게다가!!!!!!

애플 사이트에 가서 나의 아이폰 제품 보증기간을 확인해 보니 기존에는 2011년 7월 까지였으나 변경이 되어서 오늘자 기준 8개월로 변경이 되어 있었다!!!
보드가 변경이 되어버리니 보증기간도 거기에 맞추어 알아서 자동으로 변경이 되는 멋진 정책!!!

물론 자신의 과실이나 혹은 떨어뜨려서 불행히도 맛이 간 경우는 엄청난 비용을 지불해야 한다는 치명적인 단점은 있을 지 모르지만 그래도 나같이 일반적인 사용 상의 A/S 의 경우는 리퍼폰 혹은 이런 거의 완전한 교체 수준의 수리가 편리하기도 하고 기분 좋게 받는 느낌을 받을 수도 있어서 훨씬 좋았던 A/S가 아닌 가 싶다.

 

Visual Studio 2010 에서 오프라인 도움말을... H3Viewer

2011.03.30 15:28 | Posted by 하트바다
Visual Studio 2010 은 전반적으로 Intellisense 가 아주 막강해졌다.
하지만, 개인적으로 너무나  아쉬운 것이 있었으니...
그것은 항상 MSDN의 도움말을 받아오던 나로써는 갑자기 Internet Explorer로 띄워주는 도움말이 너무나 당혹스러웠다.
그래서 Visual Studio 의 확장관리자를 통해서 열심히 찾아보니 과연!!!
나처럼 힘들어 하는 사람을 위한 오프라인 도움말 뷰어가 있었다.

마이크로소프트 MVP가 제작한 H3Viewer 이다.


이 소프트웨어는F1을 눌러 도움말 라이브러리 에이전트를 실행하면 해당 소프트웨어를 실행하면서 도움말을 Visual Studio 2008의 외장뷰어의 형태로 보여준다.


원래는 이런 형태의 아주 암울한 IE 로 나온다. 난 개인적으로 이런게 너무 싫다.


Visual Studio 2010 에는 확장 관리자라는 것이 있어서 Add-in 은 모두 여기서 관리해 주는데 이곳에서 H3Viewer를 찾을 수 있다.


이렇게 온라인 갤러리에 가면 첫번째 장에 떡하니 있다. 여기 가서 다운로드 받으면 된다.


다운로드 받은 후 설치하면 실제로는 Visual Studio 2010에 Add-in 되는 것이 아니고 일반 MSDN 마냥 별도의 프로그램이 설치된다.
일단 별도로 H3Viewer 를 실행한 뒤에 Option -> Set Default Viewer for VS 2010 Help -> H3Viewer 를 선택하면 완료!!!

이후에 일단 도움말 라이브러리 에이전트를 종료 한 후에 Visual Studio 2010을 실행한 후에 F1을 누르면 이후부터는 H3Viewer 가 실행된다.

요기서 약간 욕심이 나서 자체 제작한 한국어 번역도 발번역으로 완료!!!
이곳에 올린다.


위의 파일을 H3Viewer 가 설치된 곳에 복사한다.


그다음 Set UI Language... 를 선택한다.

 
그럼 위의 다이얼로그 박스 마냥 Korean 이 생긴다. 선택하면 완료!!!
 


이리하면 한국어가 선택된 H3Viewer 가 된다.

잘 쓰시면 되겠다!!!!

 

깔끔하면서도 실용적인 노트... This is note

2011.03.16 12:10 | Posted by 하트바다

사실 아이폰을 쓰면서도 그다지 어플들에 대한 리뷰는 하지 않았다.
그도 그럴것이 나름 잘나간다는 어플들은 모두다 한번씩 리뷰를 거치고 그리고 꽤나 신뢰도 있는 리뷰들로 채워져 있기 때문이다.

하지만, 여러 어플들을 쓰면서도 항상 고민했던 문제중의 하나는 바로 메모기능이었다.
물론 우리 회사는 Exchange Server 를 사용하기 때문에 이들을 활용한 메모등의 동기화가 가능하기는 하나 그것은 단순히 포스트 잇 이상의 기능이 그렇게 갖추어 있지 않았다.
내가 생각하는 메모는 회의용이나 이러한 시간의 개념이 들어가 있어서 시간에 따른 정렬과 뷰가 잘되는 어플을 원했었다.
그러나, 항상 내 입맛에 맞는 어플들을 찾기란 그렇게 쉬운 일이 아니었다.
그러던 중 발견하고 쓰게된 어플이 지금 소개하려는 This is note 이다.



1.메인화면

위의 화면은 실제 내가 쓰고 있는 아이폰 3Gs의 화면이다. 당연히 이 리뷰를 위해 이동한 아이콘이 아니라 너무 편해서 가장 첫번째 화면에 올려놓고 쓰고 있다.
(하지만, 구입한지 그렇게 까지는 오래되지 않아 회의용으로 및 기타 등등으로 한 20번 정도 쓴것 같다)


메인화면은 위와 같이 깔끔하게 카테고리별로 공책같은 이미지로 정리되어 있어서 보기도 좋고 분류하기도 꽤나 좋다.
처음 이 어플을 샀을 때는 솔직히 위의 달력 아이콘이 없었다. 하지만, 이 달력 아이콘의 등장으로 이 어플에 대한 리뷰를 하려고 맘 먹었다.


2. 달력의 쓰임새


위의 화면을 보면 내가 이 어플을 좋아라 하는 이유가 극명하게 나타난다. 달력에 보이는 점들의 색상으로 알 수 있듯이 네모 점들은 나의 Exchange Server와 동기화 된 일정이 보이고 동그란 점들은 이 어플에서 생성한 메모의 종류에 따른 색상으로 분류가 되어 있다. 그리고 당연하지만 달력아래에는 세부내용에 대한 리스트가 나타나고 그 리스트를 선택하면 해당 메모로 바로 점프가 가능하다.


달력은 물론 달력의 모양새로 보는 것이 좋겠지만 위의 화면과 같이 날짜별 이벤트의 리스트로도 보는 것이 가능하다.

3. 공책 안으로 들어가자.


해당 공책으로 들어가면 역시 마찬가지로 달력뷰와 메모지뷰어가 된다. 위의 화면은 당연하지만 공책안의 메모 날짜별로 보이는 달력 뷰...


위의 화면은 메모지 모양으로 적힌 메모뷰이다. 메모뷰에서는 어떤 일이 있었는지에 대한 앞부분의 내용이 프리뷰로 제공이 된다. 스샷으로 찍지는 않았지만, 검색버튼을 눌러 키워드를 입력하면 해당 메모지가 검색이 되고 정렬 아이콘을 선택하여 만든날자, 변경날자, 제목, 내용별 정렬이 가능하다.


단순한 메모지 이외에도 위의 화면과 같이 그날의 감상 등을 적을 수 있는 일기장  형식 등도 가능하다.


위의 구성은 그림일기(?) 같은 형식으로 그 그림에는 카메라의 이미지 혹은 그냥 이미지도 삽입이 가능하다.

그리고, 번외로 스샷을 잡지는 않았지만 옵션을 통해서 공책 하나하나에 대한 암호설정이 가능하고 또한, 이 어플에 들어오면서 암호를 입력하는 방법도 제공하고 있다. 이건 머 요즘 메모 어플들의 공통적인 것이라 따로 더 설명하지는 않는다. (머~ 솔직히 다시 스샷 찍기 귀찮다는 귀차니즘으로 인해~ ^^;; )

이외에도 메모지의 색상과 공책의 모양 등에 다양한 변화가 가능하나 솔직히 그건 기능상에 나에게 아주 매리트가 오는 것은 아니므로 제작사 홈피를 참조 바란다.

4. 아름다운 한글 글꼴


이 어플을 만든 회사는 기본적으로 폰트를 만드는 회사다. 릭스코 폰트라는 폰트를 만드는 회사 답게 이 어플은 처음 태생때부터 아이폰에서 지원하는 폰트 이외에 이 어플에서 자체적으로원하는 폰트의 사용이 가능하다.
총 12가지의 폰트를 지원하며, 이외에 System 폰트도 설정이 가능하다.
그러나, 이렇게 좋은 폰트가 많이 있는데 굳이 System 폰트를 쓰는 것은 어플에 대한 예의가 아닌 것 같아 이 어플에서 지원하는 릭스코 폰트를 사용한다. 하지만, 이 폰트의 적용에는 한계가 조금 있으니....
글자 하나하나 마다 폰트의 적용은 안되고 대신 메모지 단위로 폰트의 적용은 가능하다.

5. 기타 이야기


원래 내가 이 어플을 구입했을 당시에는 백업 및 복원이 Wi-Fi를 통해서만 가능했었다. 하지만,곳 제작사 홈피를 방문해서 확인한 결과 추후 Dropbox 및 Google 과의 연동을 약속했었다. 그래서 반신반의 하는 맘으로 구입을 했었다.
그런데 이번에 v1.x 대에서 v2.x 대로 넘어오면서 일단 Dropbox 에 대한 연동 기능이 추가가 되었다.


위의 화면과 같이 일단 Dropbox 에 백업 및 복원이 추가가 되었다. 이제 Google 만 남았다!! (제작자님 제발!!  ^^ )


Dropbox 백업을 선택하면 위의 화면이 등장하고 백업 시작을 누르면 This is note의 내용이 zipping 이 되면서 Dropbox에 업로드 된다.


위의 화면을 보면 알 수 있듯이 Dropbox->ThisIsNote->Backup 폴더에 해당 날짜별로 zip 이 되어서 저장되는 것을 알 수 있다. 일단 이렇게 라도 원활히 백업 및 복원이 되는 것 만으로도 큰 점수를 주고 싶다. 그만큼 이런 메모 어플은 백업이 무척 중요한 것이다!!!!

6. 맺으며...

다시한번 얘기하지만 나는 솔직히 다른 이들에 비해 멋지게 리뷰를 할 능력은 없으며, 그리고 왠만한 어플들은 거의 모두 깔끔한 리뷰들이 존재하지만, 그래도 내가 써보면서 참 좋다 싶은 이 어플에 대해서는 꼭 한번 소개 시켜주고 싶은 맘에 이렇게 리뷰를 쓰게 된다.
물론 이 어플을 실제로 다운 받은 뒤 "에이 별로 일세~"  라고 얘기 하시는 분들에게는 무어라 할말이 없다. 죄송할 따름....

구입전에 한번 써보고 싶으신 분들은 아래의 링크에서 Lite 버전을 먼저 써보시고 판단하시라 권하고 싶다. 하지만, Lite 버전은 갯수의 제한이 너무 심해서 좀 짜증날 수도 있으니 나에게 너무 탓하지는 마시길...


 
마지막으로 제작사가 추후 가격을 올릴지 어떨지는 모르겠으나 현재는 나름 저렴한 가격인 $1.99 이니 구입을 고려하는 것도 좋겠다.




 
나는 음악을 조금은 편협하게 듣는 스타일이다.
그렇다고 모든 음악을 배척하는 스타일은 아니다.
하지만, 내가 어릴적 부터 정말이지 너무나도 좋아했던 그룹이 있었다.
그 그룹은 Judas Priest!!
이 그룹은 전 앨범을 공들여 사고 항상 새로운 신보가 나올때마다 벅찬 감동으로 들었었다.

하지만, 세월은 어쩔 수 없는지 이들도 '옹' 계열에 들어선지 좀 된듯 하더니 지난번 Scorpions 의 은퇴이후 다시한번 Metal 을 사랑하는 이로써 안타깝지만 올 2011년 투어를 마지막으로 은퇴한다고 한다.

Copyright © 2000-2011 Judas Priest Music Ltd



이름도 나름 거창하다. 그들의 2번째 앨범의 Rock Ballard 넘버인 'Epitaph' 의 곡명을 딴 듯하지만 어쩌면 Judas Priest 의 마지막이라는 Judas Priest 의 묘비에 묘비명을 새길만한 Tour를 시작하게 되었다.



비록 이번이 마지막 투어일지는 몰라도 Judas Priest 의 Metal 에 끼친 영향력은 음악사에서도 Epitaph로 새겨질 만큼 대단한 그룹...

그 그룹이 이제 마지막 여운을 남긴채 우리곁을 떠나가려 하고 있다...


투어일정
(출처 Judaspriest.com)
 Date  Location  More Info/On Sale Date
 7th June  Eindhaar, Tilburg, Holland  
 9th June  Sweden Rock Festival, Sweden  
 11th June  Sauna Festival, Finland  
 14th June  Oslo, Norway Spektrum  
 15th June  Bergen, Norway Edward Greig Plass  
 17th June  Copenhell Festival, Copenhagen, Denmark  
 19th June  Hellfest, Nantes, France  
 20th June  Le Zenith, Paris, France  
 22nd June  Gods of Metal Festival, Milan, Italy  
 23rd June  Sonisphere Festival, Basel - St. Jakobs, Switzerland  
 25th June  Graspop Festival, Belgium  
 27th June  Zenith, Munich, Germany  
 28th June  02 Arena, Prague, Czech Republic  
 29th June  Stadthalle, Vienna, Austria  
 1st July  Belgrade Arena, Belgrade, Serbia  
 3rd July  Romexpo, Bucharest, Romania  
 8th July  Akademik Stadium, Sofia, Bulgaria  
 10th July  Kazlicesme Festival Site, Istanbul, Turkey  
 15th July  Newport Centre, Newport, UK  (with QUEENSRYCHE & Rival Sons)
 16th July  The Apollo, Manchester, UK  (with QUEENSRYCHE & Rival Sons)
 17th July  The Dome, Doncaster, UK  (with QUEENSRYCHE & Rival Sons)
 19th July  The Secc, Glasgow, UK  (with QUEENSRYCHE & Rival Sons)
 20th July  Newcastle Arena, Newcastle, UK  (with QUEENSRYCHE & Rival Sons)
 21st July  Wolverhampton Civic, Wolverhampton, UK  (with QUEENSRYCHE & Rival Sons)
 24th July  Bournemouth Bic, Bournemouth, UK  (with QUEENSRYCHE & Rival Sons)
 23rd July  High Voltage Festival, London, UK  
 27th July  Atlantico Pavillion, Lisbon, Portugal  
 29th July  Coliseum, La Coruna, Spain  (with Motorhead and Saxon)
 30th July  La Cubierta, Madrid, Spain  (with Motorhead and Saxon)
 31st July  Bec, Bilbao, Spain  (with Motorhead and Saxon)
 2nd August  Badalona, Barcelona, Spain  (with Motorhead and Saxon)
 5th August  Wacken Festival, Germany  
 7th August  Colmar Wine Festival, Colmar, France  
 10th August  Spodek - Metal Hammer Festival, Katowice, Poland  
 11th August  Sziget Festival, Budapest, Hungary  
 
ps. 제발 일정 업데이트 되어서 마지막 모습을 한국에서도 볼 수 있기를.... 

Visual Studio 2010 에서 unsuccessfulbuild 보이지 않기

2011.03.11 09:34 | Posted by 하트바다
Visual Studio 2010 에서 바로 프로젝트 파일을 생성하면 절대로 볼 수 없는 빌드 창의 말 중에

"AlwaysCreate"이(가) 지정되었기 때문에 ".\Debug\***.unsuccessfulbuild"을(를) 만들고 있습니다.

이런 말을 볼수 없을 지도 모르나, Visual C++ 6.0 등에서 마이그레이션을 하여 Visual Studio 2010 에서 빌드를 할 경우 위의 메시지를 볼 수가 있다.


확인해본 결과 이는 Visual Studio 2010 의 알려진 버그라고 한다.


이러한 문장을 보기 싫으면 아래와 같이 하면 된다.

도구 -> 옵션->프로젝트 및 솔루션 -> 빌드 및  실행을 선택한다.

위와 같이 빌드 출력의 자세한 정도가 일반적으로 보통으로 설정되어 있다.
이를


위와 같이 약간 정도로 낮추면 그런 메시지를 볼 수 없을 것이다.
간단하지만 모르면 정말 짜증날 정도로 많이 나오는 빌드 메시지들을 줄이는 방법이다....  ^^


이번에 큰맘 먹고 아이폰 3GS 를 탈옥 시켰다.
아무래도 그게 나에게는 맞는 선택인 것 같았다.
그런데 이렇게 탈옥하고 나니 나름 신세계가 보이기 시작한다.
3GS 에서는 당연히 안될 것이라 여겼던 것들...
4에서만 당연히 된다고 믿었던 것들이 다 된다니 약간의 애플에 대한 얄미운 생각이 들기도 한다.

어쨌든!!!
HD Video 촬영 활성화 방법은 아래 링크의 블로그를 참조하였다.


일단 완성된 화면을 보도록 하자..

일단 뿌듯한 느낌이 든다.

방법은 아래와 같다.

1. 아래의 파일을 다운 받는다. 이는 미리 수정해놓은 plist 파일로 아이폰에 복사되어 들어갈 예정이다.

2. 다운 받은뒤 적당한데 풀어서 보면 총 4개의 파일이 존재한다.

AVCapture.plist
MediaValidator.plist
CameraRollValidator.plist
N88AP.plist

3. 이 중에서 위의 세개의 파일은 아래의 폴더에 복사한다.

\\System\Library\PrivateFrameworks\Celestial.framework\N88\

4. 그리고 마지막 한개의 파일 N88AP.plist 파일은 아래의 폴더에 복사한다.

\\System\Library\CoreServices\SpringBoard.app\

아참!!!
혹시나 모르니 원본 파일은 반드시!! 백업할 것!!!

일단 plist 에서 resolution 은 1280 * 720 이고 Frame Rate 는 24fp 로 설정하였음.
혹시 다른 해상도를 원하는 사람들은 plist editor 를 구해서 수동으로 입력해도 됨.

요거 수정하면서 보너스도 하나 생겼다.
바로 아이폰 3GS 에서도 720p 파일이 재생이 되는 것이다.
물론 그것도 아주 원활하게 잘 된다.

일단 아이폰 3GS 의 탈옥에 상당히 만족하는 일을 하나 할 수 있어서 좋았다.
하지만, 그래도 애플에 조금 아쉬운 것은 사실이다.
이런 것도 순정폰에서 해주면 얼마나 좋겠는가!!!

ps. plist 파일을 확인하다가 알게된 사실...
     원래 아이폰 3GS 는 비디오 재생 해상도의 최대값이 순정의 경우 768 * 768 이었다.