On Saturday, November 23, the Big Island Beekeepers Association(BIBA) will proudly present the first-ever, statewide, Hawai'i Honey Festival, which will include the Fourth Annual Hawai'i Natural Honey Challenge. The premier event will be held at the beautiful Nani Mau Gardens, at 421 Makalika Street in Hilo, from 11 am til 5 pm.
The Honey Festival will also feature the Fourth Annual Hawaiian Natural Honey Festival, where beekeepers will offer their naturally produced, chemically free honeys in friendly competition against one another. Awards will be made to participating apiaries for best liquid, comb and solid honeys in many different categories, including regional and type of flower from which nectar is gathered. This competition will be professionally judged based on blind tasting, and awards will be made during the Festival. The very popular "Peoples' Choice Honey Tasting and Awards" will also be offered again this year.
The First Annual Hawai'i Honey Festival is made possible by a generous grant from the State of Hawaii Department of Agriculture.


text:
By Alliance Group01 Jan 001
It was a privilege to have access to the senior management team, who gave a "no holds barred" insight into Alliance. The Know Your Co-operative seminar has reassured me that the co-op is in good hands and on the right track. Giving plenty of opportunities to ask questions, understand what being part of the co-op means to a cross section of farmers from throughout NZ and the seminar was a valuable couple of days off farm.
Willie Menlove
I found the seminar "Know Your Co-operative" very insightful and inspiring. The diversity of the group enabled us to have very interesting discussions about the challenges that Alliance had faced in the past and the company's future directions. During the seminar we also got to observe first-hand the wonderful relationship between members of the board of directors and the executive team which gives a lot of confidence in the company. Getting to know and learning from all the participants during the seminar also challenged me to think about my own personal and professional development. I would absolutely encourage everyone to attend this seminar in the future.
Anna Earl
I recently attended the Know Your Co-Operative Seminar in Christchurch and would like to thank Murray and Dawn for facilitating a really motivating few days. Without detracting from the past, it was very reassuring for me to see first-hand the capabilities and skill set of David and the management team that have been bought on over the past few years to bring our co-op up to a world class standard. Our group was very engaged, and I would recommend applying for this seminar in the future as I have come away with a much deeper understanding of our co-op and am very optimistic both in the industry and how Alliance is positioning itself within it.
Attending 'Know your Co-operative' enabled me to gain a better understanding of the value equation that is currently being put in place by a very capable passionate management team that is starting to show some very exciting returns. Enabling Alliance to evolve its business model. To allow Alliance to achieve this evolution it is important shareholders remain open minded and engaged on the direction of the company strategy. As a shareholder it is exciting to hear about the opportunities the company is embarking on.
Hamish Craw
I really appreciated the opportunity and was very impressed with everyone at Alliance. #ProudtobeanAllianceFarmer
I feel very privileged to have attended the inaugural Know Your Co-operative seminar. This gave me excellent insights into governance and management along with how Alliance is progressing; the co-op is in excellent hands. David has implemented changes and recruited a very talented executive leadership team who are all so passionate about the co-op and the work ahead of them. The future looks bright for our sector and while product prices are high I'd encourage farmers to invest in the co-op. Take a long-term view, success for our industry doesn't mean Alliance paying out every last cent in livestock procurement. The co-op has some wonderful opportunities to make us (shareholders) more money but in order to do these they do need to spend some money too.
Bryan Rendle
Brief Bites

redpajama_set_name: RedPajamaCommonCrawl


text:
Retiring top Derby head teacher Brian Walker to take up new role at city's newest school
Mr Walker will not be absent from the city's education scene for long
Zena HawleyAgenda editor
Brian Walker is to retire as head teacher of West Park School, Spondon, but he will become chair of governors of the new Derby Cathedral School (Image: Derby Telegraph)
Sign up to receive two FREE daily bulletin e-mails, as well as breaking news as it happens
The head of Derby's most successful state secondary school has finally decided to call it a day and retire after 44 years in the teaching profession – 21 of them as head of West Park School in Spondon.
Brian Walker, who became an MBE in this June's Queen's Birthday Honours list for his services to education, was also given the teacher of the year award in the 2015 Derby Telegraph Community Champions Awards.
He has been hinting at retirement for a number of years but now pupils and parents at West Park have been made aware of the fact he intends to retire next summer.
Mr Walker, who turned West Park around from being "underachieving" in 1997 to being the top performing school in the city and being judged "outstanding" by Ofsted in 2013.
He said: "The time has finally come to retire though I have to say at this stage it all feels a bit unreal. It seems like the right time but, after 44 years, it's probably about time for some family time. My enthusiasm for Derby education is undaunted."
Midland House, Nelson Street in Derby, which will be the temporary premises for the new Derby Cathedral School from September 2018
As a result, he will not be absent from the education scene totally because he has been appointed as chair of governors at the city's newest school – Derby Cathedral School – which opens in September 2018.
The best secondary school in Derbyshire revealed by the 2017 Real Schools Guide
The announcement of Mr Walker's appointment by the city's first C of E secondary school said: "Mr Walker is a national leader in education. He is wholly committed to improving educational performance across Derby.
"West Park School was acknowledged in March 2017 by the Government as being within the top 5% of schools nationally in terms of pupil progress and in addition the Real Schools Guide 2017 announced West Park as being the best school in Derbyshire'."
"Mr Walker's knowledge of the local, regional and national education landscape will provide Derby Cathedral School with firm foundations."
The appointment of Mr Walker was also accompanied by news that the head designate from January of the new school will be the current head of Bolsover School, Gordon Inglis, who has been in charge there for ten years.
Gordon Inglis, of Bolsover School, will be come the new head designate of Derby Cathedral School
Mr Inglis will prepare for the school opening in temporary accommodation at Midland House in Nelson Street, where the city's first Muslim free school – Al Madinah School – originally opened in 2012 before moving to permanent premises in London Road in 2016.
Traffic jam fears over plans for massive Derby school expansion
Derby Cathedral School, which is now recruiting for up to 180 year seven pupils for September 2018, will be an extra choice of school for parents outside the standard council process for co-ordinating schools offers across the city.
Mr Inglis said: "I have spent nearly 30 years in education and am thrilled to be given this opportunity to share my knowledge and experience.
"I am eager to drive the curriculum development and instil our Christian ethos and to work to recruit a team of excited and impassioned staff to make the school a success from day one."
Education and schools stories
Good Ofsted for Derbyshire school
Tribute to young history teacher
Strike action planned
New homes Ecclesbourne catchment
Plans for Derby Cathedral School were first revealed in November 2015. Specialising in maths and music, the school is being established by Derby Diocesan Academy Trust and Derby Cathedral, which say it will "help meet the need for additional high-quality secondary places in the Derby area and give local families more choice".
The closing date for applications is October 31, 2017, and more information can be found on www.derbycathedralschool.org.uk.
Derby Cathedral
Spondon


text:
package com.carlo.utilities.javassist;

public class Rectangle {
}

redpajama_set_name: RedPajamaGithub


Open to you 7 days a week, our newly expanded Union Square salon now offers a full range of beauty services including the latest anti-ageing facials and peels, massages, manicures, pedicures, waxing, lashes, brows and much more, from our team of highly trained therapists.
At Union Square you'll find us using only the best beauty brands around, including celebrity favourite CACI, Decleor, Spanish skincare brand Skeyndor, LVL and Nouveau lashes and Jessica Geleration.
Alleviate stress, ease aching muscles & revive the senses with this powerful customized massage. Dynamic blends of essential Oils are prescribed to target individual needs & reduce specific stress & muscle tension.
Indulge in one of our handpicked treatments, carefully selected for you by Decléor, renowned market leader and celebrity favourite in beauty treatments and products. Combining natures purest and most potent active ingredients, Decléor scientifically selects and masterfully blends premium Essential Oils to deliver for each skin need, targeted and proven skincare solutions.
Power packed with vitamins and anti-oxidants, this facial melts away stress. Skin is left deep cleansed, perfectly replenished and most importantly glowing with vitality.
After a consultation, our therapist will prescribe a performance facial most suited to your own specific skin concerns.
SKEYNDOR is the No.1 brand of Skincare in Spain and is currently ranked No.13 in the world having won several awards globally.
Known as 'scientific skincare' for its unique concepts based on a constant study of new trends, issues and suggestions from therapists worldwide, SKEYNDOR products are well researched and highly efficient.
To treat wrinkles and ageing skin.
For dull skin that suffers from pigmentation.
The original CACI was developed by Dr. Thomas Wing to treat Bell's Palsy (a type of facial paralysis). Today, CACI is a world renowned aesthetic treatment that is commonly referred to as "the non surgical face lift" and is the firm favourite of numerous celebrities including Jennifer Aniston, Kim K and Jennifer Lopez.
NEW! Introducing our latest CACI treatments - EYE REVIVE and JOWL LIFT. These treatments take less than an hour - perfect for the woman always on the go. . .
Ellipse professional hair removal equipment is suitable for all body areas including arms, underarms, back, chest, bikini line, brazilian as well as legs. This treatment offers painless permanent hair reduction delivering smooth skin for both male and females.
Using the most hygenic waxing system available, a choice of Hot Waxing or Strip Waxing is offered. Hot Wax is always used for more sensitive areas to reduce redness and is considered to be less painful.
Prices for individual areas are listed first, followed by packages of 2 or more areas at a reduced price!
Our ultimate, personalised, brow shaping service. Your therapist will use a combination of tinting, waxing, tweezing and threading techniques to achieve the perfect shape for you.
LVL is the revolutionary natural lash treatment - adding length, volume & lift to natural eyelashes with no extensions, adhesive or mascara! Unlike a traditional lash perm, LVL straightens your natural lashes at the root, creating the appearance of longer, thicker lashes. The added lash tint creates a mascara-style effect.
Eyelash extensions for that special occasion giving longer, thicker, natural looking lashes. Not designed to be maintained. great for holidays, lasts up to 2 weeks.
Contact lenses must be removed for application of lashes. An eyelash tint is recommended for fair lashes. For all treatments with a tint, you must have skin sensitivity test 24 hours prior to appointment.
Nail tidy and a colour polish application of choice.
Your nails will be analysed & treated for their specific nail type. The manicure will include exfoliation, massage & cuticle care. Your nails will be beautifully shaped & treated with a prescriptive basecoat, finishing with the perfect polish.
As above, with the perfect french polish.
A luxury foot & leg treatment. Hard skin will be removed, feet and legs will be massaged with deep conditioning creams leaving them softer and smoother. Your cuticles will be groomed and your toenails beautifully shaped and perfectly polished.
Cuticle care & nail shape, finished with Jessica's GELeration gel polish.
A luxury hand treatment with massage to ensure your hands will be smoother, silkier and firmer. Cuticle care, nail shape and finished with Jessica's GELeration gel polish.
A luxury foot and leg treatment. Hard skin is removed, feet and legs are massaged with conditioning creams. Cuticle care, toe nail shape and finished with Jessica's GELeration gel polish.
Removal of existing gel polish & tidy up of nails. Finished with nourishing cuticle oil.


text:
Combined Joint Task Force - Horn of Africa
Djibouti, DJ
Media Request
SHOW UNIT INFO
Current Personnel:
1st Lt. Ebony Bryant
Senior Master Sgt. Dan Farrell
Senior Master Sgt. Daniel Farrell
Senior Airman Bryan Guthrie
Spc. Emily Held
Staff Sgt. Aaron Irvin
2nd Lt. Timothy Milbrath
Staff Sgt. Alexander Rector
Maj. A.J. Ruggieri
Sgt. 1st Class Katie Theusch
Master Sgt. Toby Valadie
Master Sgt. Vanessa Valdez
Content Online:
Surgeon Cell hosts Tactical Combat Casualty Care knowledge exchange
The Combined Joint Task Force - Horn of Africa (CJTF-HOA) Surgeon Cell hosted a Tactical Combat Casualty Care (TCC) knowledge exchange at Camp Lemonnier, Djibouti, with members of CJTF-HOA, Task Force WolfHound, and Italian and Japanese partners. The course was separated into two parts - classroom presentations and hands-on scenarios where they applied their skills.
Taken: 12.22.2022 | Video by Spc. Emily Held
Military Working Dog handlers practice Tactical...
01.06.2023 | Photo by Senior Airman Destani Matheny
U.S. Navy Petty Officer 2nd Class Valerie Goodblanket, a Navy Master-at-Arms security Military Working Dog (MWD) handler, applies pressure to a...
CJTF-HOA holds combat patching ceremony for 157th...
12.30.2022 | Photo by Sgt. 1st Class Katie Theusch
U.S. Marine Corps Sgt. Maj. Frank Kammer, the Combined Joint Task Force - Horn of Africa senior enlisted leader, congratulates Command Sgt. Maj....
USMC MV-22s train, fire GAU-21 in East Africa
01.02.2023 | Photo by Senior Airman Bryan Guthrie
A U.S. Marine Corps MV-22 Osprey crew chief assigned to Marine Medium Tiltrotor Squadron 266 (VMM-266) walks out to a MV-22 at Camp Lemonnier,...
New York Army National Guard unit hosts Norwegian...
12.16.2022 | Photo by Staff Sgt. Alexander Rector
U.S. Army Lt. Col. Shawn Tabankin, commander of 1st Battalion, 69th Infantry Regiment, presents a challenge coin to Capt. Nina Skinner, a...
Djibouti, U.S. celebrate relationships with Partner...
11.10.2022 | Photo by Staff Sgt. Dallin Wrye
U.S. Army Maj. Gen. Jami Shawley, commanding general of Combined Joint Task Force - Horn of Africa, delivers remarks to guests of the Partner...
CJTF-HOA participates in exercise Bull Shark with...
A U.S. Marine Corps MV-22 lands at Camp Lemonnier, Djibouti, Dec. 3, 2022. During the response operation, the recovered personnel sustained...
Task Force Wolfhound Conducts Machine Gun University
An M240B sits on the firing line, at Arta Range, Djibouti, Nov. 29, 2022. U.S. Air Force and Marine Corps service members had the chance to learn...
Two KC-130J Super Hercules conduct TAAR with MV-22...
A U.S. Marine Corps KC-130J Super Hercules crew chief assigned to Marine Aerial Refueler Transport Squadron 252 (VMGR-252) prepares a KC-130J for...
More CJTFHOA Images
Surgeon Cell hosts Tactical Combat Casualty Care...
12.22.2022 | Video by Spc. Emily Held
The Combined Joint Task Force - Horn of Africa (CJTF-HOA) Surgeon Cell hosted a Tactical Combat Casualty Care (TCC) knowledge exchange at Camp...
Exercise Bull Shark strengthens personnel recovery,...
12.03.2022 | Video by Senior Airman Bryan Guthrie
Exercise Bull Shark is a personnel recovery exercise involving members of Combined Joint Task Force - Horn of Africa, U.S. Navy, Spanish Navy,...
CJTF-HOA Holiday Shout Outs
12.23.2022 | Video by Senior Airman Destani Matheny
Video of members deployed to Camp Lemonnier, Djibouti, Africa, send holiday shout outs to family back home.
Exercise Bull Shark strengthens personnel recovery...
12.03.2022 | Video by Staff Sgt. Dylan Murakami
Exercise Bull Shark takes place at Arta Beach, Djibouti Dec. 3, 2022. Exercise Bull Shark is a personnel recovery exercise involving members of...
CJTF-HOA Go Army Extended Shout-Out
12.02.2022 | Video by Staff Sgt. Thomas Johns
CJTF-HOA cheers the for the West Point Black Knights for their 2022 game against the Naval Academy on December 2, 2022. The Army-Navy football...
CJTF-HOA Go Army
More CJTFHOA Videos
01.06.2023 | Story by Senior Airman Destani Matheny
The Expeditionary Medical Facility (EMF) veterinary services led a Canine Tactical Combat Casualty Care (TCCC) training with Navy security...
01.06.2023 | Story by Staff Sgt. Thomas Johns and Sgt. 1st Class Katie Theusch
Combined Joint Task Force - Horn of Africa (CJTF-HOA) held a combat patching ceremony for Soldiers with the Wisconsin Army National Guard's...
12.16.2022 | Story by Staff Sgt. Alexander Rector
Service members assigned to Combined Joint Task Force – Horn of Africa (CJTF-HOA) and multinational partners participated in a Norwegian Foot...
Djiboutian, French, US troops grow capabilities...
12.15.2022 | Story by Staff Sgt. Dallin Wrye
Camp Lemonnier, Djibouti - Members of Combined Joint Task Force – Horn of Africa (CJTF-HOA) joined the Djiboutian Armed Forces (FAD) and French...
Camp Lemonnier, Djibouti - The Combined Joint Task Force – Horn of Africa (CJTF-HOA) joined Djiboutian and Spanish forces to conduct the...
International workshop drives humanitarian...
11.30.2022 | Story by Spc. Emily Held
The Combined Joint Task Force - Horn of Africa (CJTF-HOA), in coordination with the U.S. Agency for International Development (USAID) and their...
Food Safety Course shares best practices, improves...
The Combined Joint Task Force - Horn of Africa (CJTF-HOA) Navy Medical Research Unit (NAMRU) and Civil Affairs - East Africa (CAEA) led a food...
Camp Lemonnier hosts semiannual Djiboutian crafts...
U.S. service members and base personnel attended a Djiboutian crafts bazaar featuring cultural art and craftwork from local vendors and artisans...
More CJTFHOA News
Command Senior Enlisted Leader Chat Podcast
01.17.2020 | Audio by Senior Airman Dylan Murakami
U.S. Army Command Sgt. Maj. Shawn Carns, Command Senior Enlisted Leader assigned to the Combined Joint Task Force-Horn of Africa, delivers episode...
09.30.2019 | Audio by Senior Airman Codie Trimble
U.S. Army Command Sgt. Maj. Shawn Carns, Command Senior Enlisted Leader assigned to the Combined Joint Task Force-Horn of Africa, is back for...
09.21.2019 | Audio by Senior Master Sgt. Janeen Miller
U.S. Army Command Sgt. Maj. Shawn Carns, Command Senior Enlisted Leader assigned to the Combined Joint Task Force-Horn of Africa, debuts the...
CJTF-HOA Change of Command Ceremony LONG RADIO
04.14.2015 | Audio by Tech. Sgt. Jessica Young
Change is not always easy, but a necessary task for every military command. Tech. Sgt. Jessica Wolter takes us to Camp Lemonnier, Djibouti, as...
CJTF-HOA Change of Command Ceremony SHORT RADIO
Empowering women in Djibouti long radio
When your goal is to improve a community's social and economic development, it can be crucial to get the local women involved. Tech. Sgt....
Empowering Women in Djibouti
Building NCOs at the Bururi NCO Academy (SHORT RADIO)
Many people say noncommissioned officers are the backbone of any nations military. If that's true, then providing high-quality training to...
More CJTFHOA Audio


text:
Linda W. Bock Papers, 1937-1999
Wilkinson-Bock Family Papers
William L. Wilkinson Papers, 1861-1955
Account Books, Diaries, Ledgers, 1856-1952
Stewart Family Papers, 1935-1969
Westover Church Papers, 1934-1991
Miscellaneous Religious Materials
Annual meeting, 3 December 1970, Church of Our Saviour, Sandston, Virginia
Pamphlets, Magazines, etc.
A Guide to the Linda Wilkinson Bock Papers, 1848-1999 Bock, Linda Wilkinson, Papers, 1848-1999 42531
A Guide to the Linda Wilkinson Bock Papers, 1848-1999
Processed by: Trenton Hizer
Lind Wilkinson Bock Papers, 1848-1999
7.7 cubic feet
Bock, Linda Wilkinson
Collection is open to research.
Linda Wilkinson Bock Papers, 1848-1999. Accession 42531. Personal Papers Collection, The Library of Virginia, Richmond, Virginia.
Gift of Virginia Heistand Jones of Charles City County, Virginia, 19 January 2006
Linda Elizabeth Wilkinson was born 9 November 1907 in Surry County, Virginia, to William L. Wilkinson (1861-1957) and Letitia Sarah Deverell Wilkinson (1874-1960), and grew up in Charles City County, Virginia. Linda Wilkinson graduated from Longwood College and became an elementary school teacher. She married Frederic Stanley Bock, Jr., (1909-) 17 July 1933, and they had no children. Linda Wilkinson Bock served as assistant director of the Disability Determination for the Virginia Department of Rehabilitative Services. With her husband, she was active in the Westover Episcopal Church. Bock died 5 March 2005 in Richmond, Virginia, and was buried at Westover Church in Charles City County.
Papers, 1848-1999, of Linda Wilkinson Bock (1907-2005) of Charles City County and Richmond, Virginia, consisting of papers relating to the Linda and Frederic S. Bock (1909-); Bock and Wilkinson families; William L. Wilkinson (1861-1957); Reverend Charles Edward Stewart (1884-1965) and Eleanor May Deverell Stewart (1883-1971); Westover Church and the Episcopal Church in Virginia; and the history, politics, religious, and social life and customs of Charles City County, Surry County, and Virginia. The collection is organized into the following series: Series I: Linda Wilkinson Bock Papers, 1937-1999. Series II: Wilkinson-Bock Family Papers. Series III: William L. Wilkinson Papers, 1861-1955. Series IV: Account Books, Diaries, Ledgers, 1856-1952. Series V: Stewart Family Papers, 1935-1969. Series VI: Westover Church, 1934-1991. Series VII: Miscellaneous Religious Materials. Series VIII: Pamphlets, Magazines, etc.
Arranged into the following series: Series I: Linda Wilkinson Bock Papers, 1937-1999. Series II: Wilkinson-Bock Family Papers. Series III: William L. Wilkinson Papers, 1861-1955. Series IV: Account Books, Diaries, Ledgers, 1856-1952. Series V: Stewart Family Papers, 1935-1969. Series VI: Westover Church, 1934-1991. Series VII: Miscellaneous Religious Materials. Series VIII: Pamphlets, Magazines, etc.
Series I: Linda W. Bock Papers, 1937-1999
Box: 1-2
Linda W. Bock Papers, 1937-1999, contain address books, autograph books, books, correspondence, diaries, newsletters, notebooks, notes, pamphlets, and receipts. Diaries, 1942 and 1954-1956, cover Bock's life in Florence, South Carolina, in 1942, and at Byrdwood in Charles City County, Virginia, from 1954 to 1956. Topics include family and personal news; social life and customs; religion, including Bock's family's attendance at Westover Church in Charles City County; World War II; national, state, and local politics, including local elections in Charles City County and the 1956 presidential election; Supreme Court ruling on segregation; Bock's getting a part-time job as a high school counselor; charity giving for 1955 and 1956; and the weather. Also includes bulletins, cards, clippings, and correspondence filed within the diaries. Papers also include an address book; an autograph book, 1937-1938, signed by Bock's seventh grade students at New Kent High School; book of poems and sayings entitled LEAVES OF GOLD given to Bock in 1972; correspondence, 1942 and 1974, to Bock containing family and personal news; newsletter, June 1958, for the Link-Belt Company and newsletter concerning travel allowances; notebook containing a division of personal property, possibly from Byrdwood, 1971, and daily meditations and notes, 1982-1999, of Bock; notes, n.d., for Bock's Westover Church prayer group; pamphlet offering plays for sale to high school drama clubs; and a receipt, 25 May 1962, for Frederic Bock.
Linda W. Bock Diary, 1942
Clippings, cards, etc., from 1942 Bock diary
Clippings, cards, etc. from 1954 Bock diary
Papers, 1942-1974, n.d.
Autograph Book, 1937-1938, 7th grade class, New Kent High School
Notebook, 1971, 1982-1989, containing a division of property (1971) and daily meditations (1982-1989)
Leaves of Gold given to Linda Bock in 1972
Series II: Wilkinson-Bock Family Papers
Box: 3
Wilkinson-Bock family papers consist of Bible records, newspaper clippings, photographs, and miscellaneous items. Bible records consist of records for the Wilkinson and Kimbrough families, and include information on the Bock, Bowman, Branch, Bumpass, Cosby, Deverell, Finney, Jones, Nixon, Stewart, and Thornton families. Clippings, 1916-1988 and no date, include articles on Charles City County and its history; historic houses along the James River, including Berkeley, Shirley, Upper Weyanoke, and Westover; Poplar Hall in Virginia Beach, Virginia; Westover Church in Charles City County; drives through Charles City County; Hanover County, Virginia; the Virginia Episcopal Church; Short Pump, Henrico County, Virginia; United States history; George E. Pickett (1825-1875); William L. Wilkinson; and Philip Lightfoot's dance competition with the devil. Photographs include members of the Wilkinson family, the Branch family, John S. Alvis (1835-1884), equipment and docks of the Chesapeake and Ohio Railroad Company, and a Christmas party and a dinner possibly for C and O employees. Miscellaneous items include inscriptions, prayers, notes, and other papers copied or removed from various books.
Family Bible records, 1769-1991
Newspaper clippings, 1916-1988, n.d.
Wilkinson family photographs
Railroad and railroad equipment photographs (Chesapeake and Ohio Railroad)
Dinner, Christmas party, and gathering photographs (probably Chesapeake and Ohio Railroad employees)
Items removed or copied from various books
Series III: William L. Wilkinson Papers, 1861-1955
William L. Wilkinson Papers, 1861-1945 contain accounts, agreements, automobile registrations, bills, commissions, contracts, correspondence, deeds, driver's licenses, genealogies, insurance policies, invitations, lists, manifests, marriage license, naturalization papers, oaths, petitions, plats, poems, receipts, summonses, tax records, timetables, and other materials. Topics include Wilkinson's family and social life, his bank account and investments, his accounts with local merchants, his home Byrdwood and his farm property, his service on the county school board, as a notary, and as a justice of the peace, his involvement in the lawsuit of C. H. Wilson et. al. vs. W. J. Thornton, and his taxes; Charles City County history including the Civil War, education, agricultures, and social life and customs; and Surry County, Virginia, history, social life and customs, and Episcopalians including those who attended Ritchie Memorial Church. Papers also include Virginia and local history and politics; dredging in the James River; World War I and Virginia servicemen; the Sons of Confederate Veterans; the Daughters of the American Revolution; Mann Page Lodge No. 157; railroads; and roads and ferries in Charles City and Surry County, Virginia. Series also contains papers of William Fanning Wilkinson (1827-1895) of Charles City County concerning the Civil War and his loyalty oath; Letitia S. Wilkinson's driver's licenses and automobile registrations; William L. Wilkinson's and Letitia Deverell Wilkinson's marriage license; the naturalization paper of Persse Deverell; and accounts of the estate of Thomas Branch (d. 1900).
Papers, 1861-1869
Papers, 1900-June 1901
Papers, July-December 1901
Papers, 1918
Papers, January-May 1931, (no June or July)
Papers, August-December 1931, (no June or July)
Papers, 1940-1946, (no 1945)
Papers, January-April 1954
Papers, May-September 1954
Papers, October-December 1954, 1955
Papers, n.d., (correspondence, poems)
Papers, n.d., (miscellaneous papers)
Letitia Wilkinson's driver's licenses, automobile registrations, inspections, and insurance papers, 1927-1945
Series IV: Account Books, Diaries, Ledgers, 1856-1952
Account Books, Diaries, Ledgers, 1856-1952 containing diaries, 1889, 1893-1899, and 1913-1952 (one volume), probably of William L. Wilkinson, concerning crops, weather, and accounts; account books, cash books, payroll books, and ledgers, 1883-1906, for the operation of Sandy Point Farm in Charles City County, owned by Thomas Branch and operated by William F. Wilkinson and William L. Wilkinson; account book, 1880-1881, for operation of Retreat Farm, by William F. Wilkinson; account book, 1865, for operation of Hughes Creek Farm by William F. Wilkinson; account books, 1865-1867, 1870, 1872-1876, 1883, for operations of Woodside Farm by William F. Wilkinson; William F. Wilkinson account book 1868-1878; check stub book, 1889-1904, and receipt book, 1889-1896, of William L. Wilkinson; mill account book, 1884-1906; account book, 1878, of William L. Wilkinson, and account book, 1890-1936, probably of William L. Wilkinson; memorandum book, 1911-1918, of William L. Wilkinson at Tettington, Virginia; account book, 1921, including an account of the battle of Drewry's Bluff; blank yearbook for 1929 given to Edna L. Wilkinson by her grandfather; and account book, 1933-1934, of Frederic S. Bock, including reports and receipts from Spur Distributing Company, Inc.
Diary, 1889, [William L. Wilkinson?]
Diary, 1896 [William L. Wilkinson?]
Diary, 1897 (1897-1899), [William L. Wilkinson?]
Account book, 1880-1881, Retreat Farm, William F. Wilkinson, agent
Payroll ledger, 1883-1887, Sandy Point Farm, Thomas Branch, owner
Account book, 1884-1886, Thomas Branch, owner, William F. Wilkinson, agent
Time book, 1884-1888, Sandy Point Farm
Account ledger, 1886-1892, Sandy Point Farm, Thomas Branch, owner, William F. Wilkinson, agent
Time book, 1888-1892, Thomas Branch, owner, William L. Wilkinson, clerk
Cash book, 1894-1903, Sandy Point Farm, Thomas Branch, owner
Cash book, 1904-1906, Thomas Branch estate
Hughes Creek daybook, 1865, (William F. Wilkinson)
[Woodside?] daybook, 186[5?], (William F. Wilkinson)
[Woodside?] daybook and papers, 1865-1866, 1856-1869, (William F. Wilkinson)
Woodside daybook, 1867, (William F. Wilkinson)
[Woodside?] daybook, 1872, (William F. Wilkinson)
Woodside daybook, 1874-1875, (William F. Wilkinson)
Account book, 1868-1878, (William F. Wilkinson)
William L. Wilkinson account book, 1878
Mill account book, 1884-1906, [William L. Wilkinson?]
Check stub book, 1889-1904, (William L. Wilkinson)
Receipt book, 1889-1896, (William L. Wilkinson)
Account book, 1890-1936, [William L. Wilkinson?]
Memorandum book, 1911-1918, (William L. Wilkinson)
Minute and dues book, 1919-1924, Sandy Point Civic League
Account book, 1921, including an account of the battle of Drewry's Bluff, 1862
Blank yearbook, 1929
Account book, 1933-1934, (Frederic S. Bock)
Series V: Stewart Family Papers, 1935-1969
Box: 10-12
Stewart Family Papers, 1935-1969 consist of diaries, prayer book, and Sunday School lessons of the Stewart Family of Onancock, Accomack County, Kenbridge, Lunenburg County, and Sandston, Henrico County, Virginia. Diaries, 1951-1952, 1956-1960, 1967, and 1969, of Eleanor May Deverell Stewart (1883-1971) record comments on the weather, social life and customs, religion, the Episcopal Church, Episcopalians, and other personal and family information while she and her husband, Reverend Charles E. Stewart (1884-1965), were living in Lunenburg and Henrico Counties, Virginia, and while Reverend Stewart was serving churches in Lunenburg County and Nansemond County, Virginia. She discusses religious services and events at St. Paul's Church, Kenbridge, and St. Andrew's Church, Victoria, both located in Lunenburg County, and at Glebe Church, Driver, and St. John's Church, Chuckatuck, both located in Nansemond County. Prayer book of Reverend Charles E. Stewart contains prayers used by Stewart for various religious holidays, regular services, and particular events. Sunday School lessons, 1935-1938, cover material taught by Eleanor Stewart for kindergarten, and grades 2, 3, and 4, at Holy Trinity Church, in Onancock, Accomack County, Virginia, when Reverend Stewart served that congregation.
Eleanor Stewart Diary, 1951
Reverend Charles E. Stewart prayer book
Sunday School kindergarten course A, 1935-1936, "The Fatherhood of God">
Sunday School kindergarten course B, 1935-1936, "Our Father's Gifts">
Sunday School grade 2, 1936-1937, "Obedience to God">
Sunday School grade 3, 1936-1938, "God with Man">
Sunday School grade 4, 1936-1937, "God's Great Family">
series VI: Westover Church Papers, 1934-1991
Westover Church papers, 1934-1991, consist of Westover Church bulletins, 1954-1991; Westover Church newsletters, 1981-1991; Westover Church annual meeting papers, 1958 and 1960; papers, 1934-1986, concerning the day-to-day operations of the church and its financial status; treasurer's reports, 1958-1962; parish account book, 1960; check record, 1954-1963; every member canvass campaigns, 1956-1962; search committee papers, 1974-1975, 1981; members directory, 1982; altar guild manuals; and pamphlet about Westover Church as a historic site.
Bulletins, 1954-1991
Newsletters, 1981
Newsletters, 1991, (through September)
Annual meetings, 1958, 1960
Papers, January-May 1955
Papers, June-December 1955
Papers, 1964-1966, 1968
Papers, 1974, 1977-1978
Papers, 1986, 198[?]
Papers, no date
Treasurer's reports, 1958-1962
Episcopal parish account book, 1960
Check record, 1954-1959 (1960)
Check record, 1960-1963
Every member canvass, 1956-1962
"Be My Witness" every member visitation packet from the Episcopal Church to Westover Parish
Search committee, 1974-1975, 1981
Westover Parish directory, 1982
Altar guild manual, 1975
Series VII: Miscellaneous Religious Materials
Miscellaneous Religious Materials. Items include religious magazines: Episcopal Churchnews, The Episcopalian, The Living Church, Virginia Churchman, and The Virginia Episcopalian; Diocese of Virginia parish stewardship manual, 1977; service of holy Eucharist from 182nd Annual Council of the Virginia Diocese, 1977; program for the 191st Annual Council of the Virginia Diocese, 1986; and Virginia Diocese mission outreach-church extension pamphlet. Also Sandy Point Sunday School journal and related papers, 1912-1925; St. James Episcopal Church (Monkton, Maryland) newsletters, 1981-1983; First Presbyterian Church (Hopewell, Virginia) newsletter, December 1981; Ritchie Memorial Episcopal Church (Surry County) 100th anniversary bulletin, 1985; Report of St. James the Less Church (Hanover County), including the by-laws of St. Peter's Church; historic pamphlets on St. Luke's Church (Isle of Wight County, Virginia), and the Episcopal Church in Accomack County; Bruton Parish Church (Williamsburg, Virginia) Christmas bulletin and music program, December 1971; annual congregation meeting, 3 December 1970 of Church of Our Saviour (Sandston, Virginia); Reverend James Alves' installation service, 13 October 1974, as rector of St. Philip's Church (Laurel, Delaware); and papers, 1950 and 1974, of Ginter Park Presbyterian Church (Richmond, Virginia). Also pamphlets and booklets on Episcopal Church teachings, prayer, stewardship, and general religious subjects, as well as miscellaneous papers on religion.
Episcopal Churchnews, 1957
The Episcopalian, 1987
The Living Church, 1981, 1986
The Virginia Churchman, 1957, 1962, 1975
The Virginia Episcopalian, 1987
Diocese of Virginia Parish Stewardship Manual, 1977
182nd Annual Council of the Diocese of Virginia service of the Holy Eucharist, 30 January 1977
Festive celebration of confirmation and installation of the dean, 2 December 1981, Region Nine, Diocese of Virginia
Program of the 191st Annual Council of the Diocese of Virginia, 30 January-1 February 1986
Diocese of Virginia missionary outreach-church extension
Sandy Point Sunday School journal, 1912-1925
Papers, 1912-1925, from Sandy Point Sunday School journal
Newsletters, 1981, St. James Episcopal Church, Monkton, Maryland
Newsletter, December 1981, First Presbyterian Church, Hopewell, Virginia
Bulletin, 1985, Ritchie Memorial Episcopal Church, Surry County, Virginia
Report of St. James the Less Church, Hanover County, Virginia, including the by-laws of St. Peter's Church
The Episcopal Church in Accomack County [Virginia]
A Sketch of the "Old Brick Church" Isle of Wight County [St. Luke's Church, Isle of Wight County, Virginia]
Bruton Parish Church bulletin and program, 1971
Celebration, 13 October 1974, of the new ministry of Reverend James Alves as rector of St. Philip's Episcopal Church, Laurel, Delaware
Papers, 1948, 1950, Ginter Park Presbyterian Church, Richmond, Virginia
Miscellaneous churches-items
Church teachings in the Book of Common Prayer, Reverend Edwin Royall, Christ Episcopal Church, Petersburg, Virginia
Prayer pamphlets and booklets
Stewardship pamphlets
"Compassionate Friends"--illness and death
Miscellaneous religious pamphlets
Miscellaneous church and religious items
Series VIII: Pamphlets, Magazines, etc.
Box: 17
Pamphlets, Magazines, etc. Items include 1848 Virginia and North Carolina Almanac; Brandon Lodge, no. 192, Prince George County, Virginia, by-laws; a book of verse, 1889, titled The James River; pamphlets addressing the history of Charles City County, Edmund Ruffin, (1794-1865), John Tyler (1790-1862), and the character of the Confederate soldier; programs for the exercises of the Hanover monument to the Confederate soldier, Edmund Waddell (1855-1931), 300th anniversary of Surry County, the 350th anniversary of Jamestown, and for a play titled "The Common Glory;"; and the following magazines: Red Cross Courier, 15 August 1929; Anaconda Wire, April 1951; The Spire, March 1952; and Kiplinger Magazine, November 1956. Also includes a report, 1938, on the economic conditions of the South; advance sheets, 1951, of cases before the Virginia Supreme Court of Appeals; miscellaneous pamphlets on Virginia history and driving laws; pageant about Charles City County's history; and other miscellaneous items.
Virginia and North Carolina Almanac, 1848
By-laws of Brandon Lodge No. 192, Prince George County, Va., 1881
The James River or Rhymes, Legendary and Historical, of "the Old Powhatan," 1889
Charles City: Some of Its Noted Places and People and Personal Recollections of Some of These, 1910, by George L. Christian
Edmund Ruffin, an Address, 1913, by Lyon G. Tyler
The Character and Services of the Confederate Soldier "in War and Peace:" an Address, 1914 [1913], by Captain John Lamb
Souvenir of the Exercises of the Hanover Monument to Confederate Soldiers, 27 August 1914
The Red Cross Courier, 15 August 1929
John Tyler, an Address of the Hon. Claude G. Bowers of New York, 1931
A Committee Report Made to the Bar Association of the City of Richmond, Virginia, Commemorating the Life of the Late Edmund Waddill, Jr., One of the Judges of the Fourth Circuit Court of Appeals of the United States, 1931
Report on the Economic Conditions of the South, 1938
The Anaconda Wire, April 1951
Advance Sheets of Cases Decided in the Supreme Court of Appeals of Virginia, 1951
The Spire, Charles City, Virginia, March 1952
300th Anniversary of the Founding of Surry County, 1652-1952
Kiplinger Magazine, November 1956
The Jamestown Festival Official Program, 1957
Plays and miscellaneous items


Theories of mind evolution rigidity communique and sociality are necessary to our skill to symbolize gadgets as intersubjectively obtainable. How did we develop as a species in order to realize gadgets as universal, as that that could even be noticeable in a lot an analogous method through others? Such structure of intersubjectively obtainable items is certain up with our versatile and complex capacities for social cognition knowing others and their wants, intentions, feelings, and moods that are an important to the way in which people dwell. This ebook is ready modern philosophical and neuroscientific views at the relation of motion, conception, and cognition because it is lived in embodied and socially embedded adventure. This emphasis on embodiment and embeddedness is a metamorphosis from conventional theories, which interested by remoted, representational, and conceptual cognition. within the new views contained in our ebook, such 'pure' cognition is assumed to be under-girded and interpenetrated via embodied and embedded tactics.
Examine on recognition has advanced dramatically lately. There at the moment are many new methods of learning how we can opt for a few elements for processing, when ignoring others, and the way we can mix initiatives, study abilities and make intentional activities. consciousness is more and more obvious as a fancy strategy in detail associated with belief, reminiscence and motion.
Brain Readings is a set of obtainable readings on essentially the most very important subject matters in cognitive technological know-how. even supposing someone attracted to the interdisciplinary examine of brain will locate the choices really worth interpreting, they paintings quite good with Paul Thagard's textbook brain: An advent Cognitive technology, and supply extra dialogue at the significant themes mentioned in that publication.
The single accomplished resource of data in this usually misdiagnosed challenge, with details serious for physicians, ER and ICU medical professionals, and psychiatrists. An under-recognized which can probably reason mind harm or even demise, nonconvulsive prestige epilepticus (NCSE) is a vital scientific challenge, happening in approximately 25% of prestige epilepsy circumstances.
That includes prime overseas authors operating in scientific psychology and psychiatry, this guide provide the main in-depth insurance of social nervousness affliction, together with character elements in unhappy, and multicultural concerns within the prognosis, case conceptualization, and remedy of unhappy. A multi-contributed, the world over assorted instruction manual overlaying all significant components of social nervousness ailment, supplying a useful instructing toolThis distinctive textual content contributes considerably to the sphere by means of summarizing the present kingdom of analysis within the region and outlining destiny directionsProvides a comprehen �Read extra.
Stanford: Stanford University Press. Byrne, R. W. and Corp, N. (2004). Neocortex size predicts deception rate in primates. Proceedings of the Royal Society, 271, 1,693–9. Carey, S. (2009). The origin of concepts. Oxford: Oxford University Press. 20 Introduction Casebeer, W. D. (2003). Natural ethical facts. Cambridge, MA: MIT Press. Clark, A. (1997). Being there. Cambridge: MIT Press. Clark, A. (1999). An embodied cognitive science? Trends in Cognitive Sciences, 3, 345–51. Clark, A. (2003). Natural-born cyborgs.
The neural mechanisms of these two kinds of temporal integration appear to be somewhat distinct from one another. Moreover, the two mechanisms seem to have evolved at different times, in different species. Elementary binding evolved earlier, and appears to occur in many species. On the available behavioral evidence on delayed response, ST-WM capacity occurs in much fewer species, and appeared later in the evolutionary record (Donald, 2001, pp. 184–95). There are theoretical gaps between theories of mechanism for these three temporal ranges of neural integration.
Today's scope of scientific knowledge is far too vast for one person to embrace completely, hence the emergence of specialties and subspecialties in science and medicine. In an era of exponential leaps in scientific knowledge, the multiple levels of analysis required in the scientific enterprise necessitate that we work together, because the knowledge of each level is not – indeed, cannot possibly be – shared by all members of the group. So, in addition to inherent competition and collaborative bonds, the recognition of others and our link to them are essential to advances in knowledge.


text:
// Copyright 2015 The Xorm Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package xorm

import (
	"database/sql/driver"
	"encoding/json"
	"errors"
	"fmt"
	"reflect"
	"strings"
	"time"

	"github.com/go-xorm/core"
)

type inParam struct {
	colName string
	args    []interface{}
}

type incrParam struct {
	colName string
	arg     interface{}
}

type decrParam struct {
	colName string
	arg     interface{}
}

type exprParam struct {
	colName string
	expr    string
}

// statement save all the sql info for executing SQL
type Statement struct {
	RefTable      *core.Table
	Engine        *Engine
	Start         int
	LimitN        int
	WhereStr      string
	IdParam       *core.PK
	Params        []interface{}
	OrderStr      string
	JoinStr       string
	GroupByStr    string
	HavingStr     string
	ColumnStr     string
	selectStr     string
	columnMap     map[string]bool
	useAllCols    bool
	OmitStr       string
	ConditionStr  string
	AltTableName  string
	RawSQL        string
	RawParams     []interface{}
	UseCascade    bool
	UseAutoJoin   bool
	StoreEngine   string
	Charset       string
	BeanArgs      []interface{}
	UseCache      bool
	UseAutoTime   bool
	IsDistinct    bool
	IsForUpdate   bool
	TableAlias    string
	allUseBool    bool
	checkVersion  bool
	unscoped      bool
	mustColumnMap map[string]bool
	nullableMap   map[string]bool
	inColumns     map[string]*inParam
	incrColumns   map[string]incrParam
	decrColumns   map[string]decrParam
	exprColumns   map[string]exprParam
}

// init
func (statement *Statement) Init() {
	statement.RefTable = nil
	statement.Start = 0
	statement.LimitN = 0
	statement.WhereStr = ""
	statement.Params = make([]interface{}, 0)
	statement.OrderStr = ""
	statement.UseCascade = true
	statement.JoinStr = ""
	statement.GroupByStr = ""
	statement.HavingStr = ""
	statement.ColumnStr = ""
	statement.OmitStr = ""
	statement.columnMap = make(map[string]bool)
	statement.ConditionStr = ""
	statement.AltTableName = ""
	statement.IdParam = nil
	statement.RawSQL = ""
	statement.RawParams = make([]interface{}, 0)
	statement.BeanArgs = make([]interface{}, 0)
	statement.UseCache = true
	statement.UseAutoTime = true
	statement.IsDistinct = false
	statement.IsForUpdate = false
	statement.TableAlias = ""
	statement.selectStr = ""
	statement.allUseBool = false
	statement.useAllCols = false
	statement.mustColumnMap = make(map[string]bool)
	statement.nullableMap = make(map[string]bool)
	statement.checkVersion = true
	statement.unscoped = false
	statement.inColumns = make(map[string]*inParam)
	statement.incrColumns = make(map[string]incrParam)
	statement.decrColumns = make(map[string]decrParam)
	statement.exprColumns = make(map[string]exprParam)
}

// add the raw sql statement
func (statement *Statement) Sql(querystring string, args ...interface{}) *Statement {
	statement.RawSQL = querystring
	statement.RawParams = args
	return statement
}

// set the table alias
func (statement *Statement) Alias(alias string) *Statement {
	statement.TableAlias = alias
	return statement
}

// add Where statment
func (statement *Statement) Where(querystring string, args ...interface{}) *Statement {
	if !strings.Contains(querystring, statement.Engine.dialect.EqStr()) {
		querystring = strings.Replace(querystring, "=", statement.Engine.dialect.EqStr(), -1)
	}
	statement.WhereStr = querystring
	statement.Params = args
	return statement
}

// add Where & and statment
func (statement *Statement) And(querystring string, args ...interface{}) *Statement {
	if statement.WhereStr != "" {
		statement.WhereStr = fmt.Sprintf("(%v) %s (%v)", statement.WhereStr,
			statement.Engine.dialect.AndStr(), querystring)
	} else {
		statement.WhereStr = querystring
	}
	statement.Params = append(statement.Params, args...)
	return statement
}

// add Where & Or statment
func (statement *Statement) Or(querystring string, args ...interface{}) *Statement {
	if statement.WhereStr != "" {
		statement.WhereStr = fmt.Sprintf("(%v) %s (%v)", statement.WhereStr,
			statement.Engine.dialect.OrStr(), querystring)
	} else {
		statement.WhereStr = querystring
	}
	statement.Params = append(statement.Params, args...)
	return statement
}

// tempororily set table name
func (statement *Statement) Table(tableNameOrBean interface{}) *Statement {
	v := rValue(tableNameOrBean)
	t := v.Type()
	if t.Kind() == reflect.String {
		statement.AltTableName = tableNameOrBean.(string)
	} else if t.Kind() == reflect.Struct {
		statement.RefTable = statement.Engine.autoMapType(v)
	}
	return statement
}

// Auto generating conditions according a struct
func buildUpdates(engine *Engine, table *core.Table, bean interface{},
	includeVersion bool, includeUpdated bool, includeNil bool,
	includeAutoIncr bool, allUseBool bool, useAllCols bool,
	mustColumnMap map[string]bool, nullableMap map[string]bool,
	columnMap map[string]bool, update, unscoped bool) ([]string, []interface{}) {

	colNames := make([]string, 0)
	var args = make([]interface{}, 0)
	for _, col := range table.Columns() {
		if !includeVersion && col.IsVersion {
			continue
		}
		if col.IsCreated {
			continue
		}
		if !includeUpdated && col.IsUpdated {
			continue
		}
		if !includeAutoIncr && col.IsAutoIncrement {
			continue
		}
		if col.IsDeleted && !unscoped {
			continue
		}
		if use, ok := columnMap[col.Name]; ok && !use {
			continue
		}

		if engine.dialect.DBType() == core.MSSQL && col.SQLType.Name == core.Text {
			continue
		}

		fieldValuePtr, err := col.ValueOf(bean)
		if err != nil {
			engine.LogError(err)
			continue
		}

		fieldValue := *fieldValuePtr
		fieldType := reflect.TypeOf(fieldValue.Interface())

		requiredField := useAllCols
		includeNil := useAllCols
		lColName := strings.ToLower(col.Name)

		if b, ok := mustColumnMap[lColName]; ok {
			if b {
				requiredField = true
			} else {
				continue
			}
		}

		// !evalphobia! set fieldValue as nil when column is nullable and zero-value
		if b, ok := nullableMap[lColName]; ok {
			if b && col.Nullable && isZero(fieldValue.Interface()) {
				var nilValue *int
				fieldValue = reflect.ValueOf(nilValue)
				fieldType = reflect.TypeOf(fieldValue.Interface())
				includeNil = true
			}
		}

		var val interface{}

		if fieldValue.CanAddr() {
			if structConvert, ok := fieldValue.Addr().Interface().(core.Conversion); ok {
				data, err := structConvert.ToDB()
				if err != nil {
					engine.LogError(err)
				} else {
					val = data
				}
				goto APPEND
			}
		}

		if structConvert, ok := fieldValue.Interface().(core.Conversion); ok {
			data, err := structConvert.ToDB()
			if err != nil {
				engine.LogError(err)
			} else {
				val = data
			}
			goto APPEND
		}

		if fieldType.Kind() == reflect.Ptr {
			if fieldValue.IsNil() {
				if includeNil {
					args = append(args, nil)
					colNames = append(colNames, fmt.Sprintf("%v=?", engine.Quote(col.Name)))
				}
				continue
			} else if !fieldValue.IsValid() {
				continue
			} else {
				// dereference ptr type to instance type
				fieldValue = fieldValue.Elem()
				fieldType = reflect.TypeOf(fieldValue.Interface())
				requiredField = true
			}
		}

		switch fieldType.Kind() {
		case reflect.Bool:
			if allUseBool || requiredField {
				val = fieldValue.Interface()
			} else {
				// if a bool in a struct, it will not be as a condition because it default is false,
				// please use Where() instead
				continue
			}
		case reflect.String:
			if !requiredField && fieldValue.String() == "" {
				continue
			}
			// for MyString, should convert to string or panic
			if fieldType.String() != reflect.String.String() {
				val = fieldValue.String()
			} else {
				val = fieldValue.Interface()
			}
		case reflect.Int8, reflect.Int16, reflect.Int, reflect.Int32, reflect.Int64:
			if !requiredField && fieldValue.Int() == 0 {
				continue
			}
			val = fieldValue.Interface()
		case reflect.Float32, reflect.Float64:
			if !requiredField && fieldValue.Float() == 0.0 {
				continue
			}
			val = fieldValue.Interface()
		case reflect.Uint8, reflect.Uint16, reflect.Uint, reflect.Uint32, reflect.Uint64:
			if !requiredField && fieldValue.Uint() == 0 {
				continue
			}
			t := int64(fieldValue.Uint())
			val = reflect.ValueOf(&t).Interface()
		case reflect.Struct:
			if fieldType.ConvertibleTo(core.TimeType) {
				t := fieldValue.Convert(core.TimeType).Interface().(time.Time)
				if !requiredField && (t.IsZero() || !fieldValue.IsValid()) {
					continue
				}
				val = engine.FormatTime(col.SQLType.Name, t)
			} else if nulType, ok := fieldValue.Interface().(driver.Valuer); ok {
				val, _ = nulType.Value()
			} else {
				engine.autoMapType(fieldValue)
				if table, ok := engine.Tables[fieldValue.Type()]; ok {
					if len(table.PrimaryKeys) == 1 {
						pkField := reflect.Indirect(fieldValue).FieldByName(table.PKColumns()[0].FieldName)
						// fix non-int pk issues
						//if pkField.Int() != 0 {
						if pkField.IsValid() && !isZero(pkField.Interface()) {
							val = pkField.Interface()
						} else {
							continue
						}
					} else {
						//TODO: how to handler?
						panic("not supported")
					}
				} else {
					val = fieldValue.Interface()
				}
			}
		case reflect.Array, reflect.Slice, reflect.Map:
			if fieldValue == reflect.Zero(fieldType) {
				continue
			}
			if fieldValue.IsNil() || !fieldValue.IsValid() || fieldValue.Len() == 0 {
				continue
			}

			if col.SQLType.IsText() {
				bytes, err := json.Marshal(fieldValue.Interface())
				if err != nil {
					engine.LogError(err)
					continue
				}
				val = string(bytes)
			} else if col.SQLType.IsBlob() {
				var bytes []byte
				var err error
				if (fieldType.Kind() == reflect.Array || fieldType.Kind() == reflect.Slice) &&
					fieldType.Elem().Kind() == reflect.Uint8 {
					if fieldValue.Len() > 0 {
						val = fieldValue.Bytes()
					} else {
						continue
					}
				} else {
					bytes, err = json.Marshal(fieldValue.Interface())
					if err != nil {
						engine.LogError(err)
						continue
					}
					val = bytes
				}
			} else {
				continue
			}
		default:
			val = fieldValue.Interface()
		}

	APPEND:
		//fmt.Println("==", col.Name, "==", fmt.Sprintf("%v", val))
		args = append(args, val)
		if col.IsPrimaryKey && engine.dialect.DBType() == "ql" {
			continue
		}
		colNames = append(colNames, fmt.Sprintf("%v = ?", engine.Quote(col.Name)))
	}

	return colNames, args
}

// Auto generating conditions according a struct
func buildConditions(engine *Engine, table *core.Table, bean interface{},
	includeVersion bool, includeUpdated bool, includeNil bool,
	includeAutoIncr bool, allUseBool bool, useAllCols bool, unscoped bool,
	mustColumnMap map[string]bool, tableName string, addedTableName bool) ([]string, []interface{}) {
	colNames := make([]string, 0)
	var args = make([]interface{}, 0)
	for _, col := range table.Columns() {
		if !includeVersion && col.IsVersion {
			continue
		}
		if !includeUpdated && col.IsUpdated {
			continue
		}
		if !includeAutoIncr && col.IsAutoIncrement {
			continue
		}

		if engine.dialect.DBType() == core.MSSQL && col.SQLType.Name == core.Text {
			continue
		}
		if col.SQLType.IsJson() {
			continue
		}

		var colName string
		if addedTableName {
			colName = engine.Quote(tableName) + "." + engine.Quote(col.Name)
		} else {
			colName = engine.Quote(col.Name)
		}

		fieldValuePtr, err := col.ValueOf(bean)
		if err != nil {
			engine.LogError(err)
			continue
		}

		if col.IsDeleted && !unscoped { // tag "deleted" is enabled
			colNames = append(colNames, fmt.Sprintf("(%v IS NULL or %v = '0001-01-01 00:00:00')",
				colName, colName))
		}

		fieldValue := *fieldValuePtr
		if fieldValue.Interface() == nil {
			continue
		}

		fieldType := reflect.TypeOf(fieldValue.Interface())
		requiredField := useAllCols
		if b, ok := mustColumnMap[strings.ToLower(col.Name)]; ok {
			if b {
				requiredField = true
			} else {
				continue
			}
		}

		if fieldType.Kind() == reflect.Ptr {
			if fieldValue.IsNil() {
				if includeNil {
					args = append(args, nil)
					colNames = append(colNames, fmt.Sprintf("%v %s ?", colName, engine.dialect.EqStr()))
				}
				continue
			} else if !fieldValue.IsValid() {
				continue
			} else {
				// dereference ptr type to instance type
				fieldValue = fieldValue.Elem()
				fieldType = reflect.TypeOf(fieldValue.Interface())
				requiredField = true
			}
		}

		var val interface{}
		switch fieldType.Kind() {
		case reflect.Bool:
			if allUseBool || requiredField {
				val = fieldValue.Interface()
			} else {
				// if a bool in a struct, it will not be as a condition because it default is false,
				// please use Where() instead
				continue
			}
		case reflect.String:
			if !requiredField && fieldValue.String() == "" {
				continue
			}
			// for MyString, should convert to string or panic
			if fieldType.String() != reflect.String.String() {
				val = fieldValue.String()
			} else {
				val = fieldValue.Interface()
			}
		case reflect.Int8, reflect.Int16, reflect.Int, reflect.Int32, reflect.Int64:
			if !requiredField && fieldValue.Int() == 0 {
				continue
			}
			val = fieldValue.Interface()
		case reflect.Float32, reflect.Float64:
			if !requiredField && fieldValue.Float() == 0.0 {
				continue
			}
			val = fieldValue.Interface()
		case reflect.Uint8, reflect.Uint16, reflect.Uint, reflect.Uint32, reflect.Uint64:
			if !requiredField && fieldValue.Uint() == 0 {
				continue
			}
			t := int64(fieldValue.Uint())
			val = reflect.ValueOf(&t).Interface()
		case reflect.Struct:
			if fieldType.ConvertibleTo(core.TimeType) {
				t := fieldValue.Convert(core.TimeType).Interface().(time.Time)
				if !requiredField && (t.IsZero() || !fieldValue.IsValid()) {
					continue
				}
				val = engine.FormatTime(col.SQLType.Name, t)
			} else if _, ok := reflect.New(fieldType).Interface().(core.Conversion); ok {
				continue
			} else if valNul, ok := fieldValue.Interface().(driver.Valuer); ok {
				val, _ = valNul.Value()
				if val == nil {
					continue
				}
			} else {
				if col.SQLType.IsJson() {
					if col.SQLType.IsText() {
						bytes, err := json.Marshal(fieldValue.Interface())
						if err != nil {
							engine.LogError(err)
							continue
						}
						val = string(bytes)
					} else if col.SQLType.IsBlob() {
						var bytes []byte
						var err error
						bytes, err = json.Marshal(fieldValue.Interface())
						if err != nil {
							engine.LogError(err)
							continue
						}
						val = bytes
					}
				} else {
					engine.autoMapType(fieldValue)
					if table, ok := engine.Tables[fieldValue.Type()]; ok {
						if len(table.PrimaryKeys) == 1 {
							pkField := reflect.Indirect(fieldValue).FieldByName(table.PKColumns()[0].FieldName)
							// fix non-int pk issues
							//if pkField.Int() != 0 {
							if pkField.IsValid() && !isZero(pkField.Interface()) {
								val = pkField.Interface()
							} else {
								continue
							}
						} else {
							//TODO: how to handler?
							panic(fmt.Sprintln("not supported", fieldValue.Interface(), "as", table.PrimaryKeys))
						}
					} else {
						val = fieldValue.Interface()
					}
				}
			}
		case reflect.Array, reflect.Slice, reflect.Map:
			if fieldValue == reflect.Zero(fieldType) {
				continue
			}
			if fieldValue.IsNil() || !fieldValue.IsValid() || fieldValue.Len() == 0 {
				continue
			}

			if col.SQLType.IsText() {
				bytes, err := json.Marshal(fieldValue.Interface())
				if err != nil {
					engine.LogError(err)
					continue
				}
				val = string(bytes)
			} else if col.SQLType.IsBlob() {
				var bytes []byte
				var err error
				if (fieldType.Kind() == reflect.Array || fieldType.Kind() == reflect.Slice) &&
					fieldType.Elem().Kind() == reflect.Uint8 {
					if fieldValue.Len() > 0 {
						val = fieldValue.Bytes()
					} else {
						continue
					}
				} else {
					bytes, err = json.Marshal(fieldValue.Interface())
					if err != nil {
						engine.LogError(err)
						continue
					}
					val = bytes
				}
			} else {
				continue
			}
		default:
			val = fieldValue.Interface()
		}

		args = append(args, val)
		var condi string
		if col.IsPrimaryKey && engine.dialect.DBType() == "ql" {
			condi = "id() == ?"
		} else {
			condi = fmt.Sprintf("%v %s ?", colName, engine.dialect.EqStr())
		}
		colNames = append(colNames, condi)
	}

	return colNames, args
}

// return current tableName
func (statement *Statement) TableName() string {
	if statement.AltTableName != "" {
		return statement.AltTableName
	}

	if statement.RefTable != nil {
		return statement.RefTable.Name
	}
	return ""
}

var (
	ptrPkType = reflect.TypeOf(&core.PK{})
	pkType    = reflect.TypeOf(core.PK{})
)

// Generate "where id = ? " statment or for composite key "where key1 = ? and key2 = ?"
func (statement *Statement) Id(id interface{}) *Statement {
	idValue := reflect.ValueOf(id)
	idType := reflect.TypeOf(idValue.Interface())

	switch idType {
	case ptrPkType:
		if pkPtr, ok := (id).(*core.PK); ok {
			statement.IdParam = pkPtr
		}
	case pkType:
		if pk, ok := (id).(core.PK); ok {
			statement.IdParam = &pk
		}
	default:
		// TODO: treat as int primitve for now, need to handle type check?
		statement.IdParam = &core.PK{id}
	}

	return statement
}

// Generate  "Update ... Set column = column + arg" statment
func (statement *Statement) Incr(column string, arg ...interface{}) *Statement {
	k := strings.ToLower(column)
	if len(arg) > 0 {
		statement.incrColumns[k] = incrParam{column, arg[0]}
	} else {
		statement.incrColumns[k] = incrParam{column, 1}
	}
	return statement
}

// Generate  "Update ... Set column = column - arg" statment
func (statement *Statement) Decr(column string, arg ...interface{}) *Statement {
	k := strings.ToLower(column)
	if len(arg) > 0 {
		statement.decrColumns[k] = decrParam{column, arg[0]}
	} else {
		statement.decrColumns[k] = decrParam{column, 1}
	}
	return statement
}

// Generate  "Update ... Set column = {expression}" statment
func (statement *Statement) SetExpr(column string, expression string) *Statement {
	k := strings.ToLower(column)
	statement.exprColumns[k] = exprParam{column, expression}
	return statement
}

// Generate  "Update ... Set column = column + arg" statment
func (statement *Statement) getInc() map[string]incrParam {
	return statement.incrColumns
}

// Generate  "Update ... Set column = column - arg" statment
func (statement *Statement) getDec() map[string]decrParam {
	return statement.decrColumns
}

// Generate  "Update ... Set column = {expression}" statment
func (statement *Statement) getExpr() map[string]exprParam {
	return statement.exprColumns
}

// Generate "Where column IN (?) " statment
func (statement *Statement) In(column string, args ...interface{}) *Statement {
	k := strings.ToLower(column)
	var newargs []interface{}
	if len(args) == 1 &&
		reflect.TypeOf(args[0]).Kind() == reflect.Slice {
		newargs = make([]interface{}, 0)
		v := reflect.ValueOf(args[0])
		for i := 0; i < v.Len(); i++ {
			newargs = append(newargs, v.Index(i).Interface())
		}
	} else {
		newargs = args
	}

	if _, ok := statement.inColumns[k]; ok {
		statement.inColumns[k].args = append(statement.inColumns[k].args, newargs...)
	} else {
		statement.inColumns[k] = &inParam{column, newargs}
	}
	return statement
}

func (statement *Statement) genInSql() (string, []interface{}) {
	if len(statement.inColumns) == 0 {
		return "", []interface{}{}
	}

	inStrs := make([]string, 0, len(statement.inColumns))
	args := make([]interface{}, 0)
	for _, params := range statement.inColumns {
		inStrs = append(inStrs, fmt.Sprintf("(%v IN (%v))",
			statement.Engine.autoQuote(params.colName),
			strings.Join(makeArray("?", len(params.args)), ",")))
		args = append(args, params.args...)
	}

	if len(statement.inColumns) == 1 {
		return inStrs[0], args
	}
	return fmt.Sprintf("(%v)", strings.Join(inStrs, " "+statement.Engine.dialect.AndStr()+" ")), args
}

func (statement *Statement) attachInSql() {
	inSql, inArgs := statement.genInSql()
	if len(inSql) > 0 {
		if statement.ConditionStr != "" {
			statement.ConditionStr += " " + statement.Engine.dialect.AndStr() + " "
		}
		statement.ConditionStr += inSql
		statement.Params = append(statement.Params, inArgs...)
	}
}

func col2NewCols(columns ...string) []string {
	newColumns := make([]string, 0)
	for _, col := range columns {
		col = strings.Replace(col, "`", "", -1)
		col = strings.Replace(col, `"`, "", -1)
		ccols := strings.Split(col, ",")
		for _, c := range ccols {
			newColumns = append(newColumns, strings.TrimSpace(c))
		}
	}
	return newColumns
}

func (engine *Engine) autoQuote(col string) string {
	col = strings.Replace(col, "`", "", -1)
	col = strings.Replace(col, engine.QuoteStr(), "", -1)
	fields := strings.Split(strings.TrimSpace(col), ".")
	for i, field := range fields {
		fields[i] = engine.Quote(field)
	}
	return strings.Join(fields, ".")
}

func (statement *Statement) col2NewColsWithQuote(columns ...string) []string {
	newColumns := make([]string, 0)
	for _, col := range columns {
		col = strings.Replace(col, "`", "", -1)
		col = strings.Replace(col, statement.Engine.QuoteStr(), "", -1)
		ccols := strings.Split(col, ",")
		for _, c := range ccols {
			fields := strings.Split(strings.TrimSpace(c), ".")
			if len(fields) == 1 {
				newColumns = append(newColumns, statement.Engine.Quote(fields[0]))
			} else if len(fields) == 2 {
				newColumns = append(newColumns, statement.Engine.Quote(fields[0])+"."+
					statement.Engine.Quote(fields[1]))
			} else {
				panic(errors.New("unwanted colnames"))
			}
		}
	}
	return newColumns
}

// Generate "Distince col1, col2 " statment
func (statement *Statement) Distinct(columns ...string) *Statement {
	statement.IsDistinct = true
	statement.Cols(columns...)
	return statement
}

// Generate "SELECT ... FOR UPDATE" statment
func (statement *Statement) ForUpdate() *Statement {
	statement.IsForUpdate = true
	return statement
}

// replace select
func (s *Statement) Select(str string) *Statement {
	s.selectStr = str
	return s
}

// Generate "col1, col2" statement
func (statement *Statement) Cols(columns ...string) *Statement {
	newColumns := col2NewCols(columns...)
	for _, nc := range newColumns {
		statement.columnMap[strings.ToLower(nc)] = true
	}
	statement.ColumnStr = statement.Engine.Quote(strings.Join(newColumns, statement.Engine.Quote(", ")))
	if strings.Contains(statement.ColumnStr, ".") {
		statement.ColumnStr = strings.Replace(statement.ColumnStr, ".", statement.Engine.Quote("."), -1)
	}
	statement.ColumnStr = strings.Replace(statement.ColumnStr, statement.Engine.Quote("*"), "*", -1)
	return statement
}

// Update use only: update all columns
func (statement *Statement) AllCols() *Statement {
	statement.useAllCols = true
	return statement
}

// Update use only: must update columns
func (statement *Statement) MustCols(columns ...string) *Statement {
	newColumns := col2NewCols(columns...)
	for _, nc := range newColumns {
		statement.mustColumnMap[strings.ToLower(nc)] = true
	}
	return statement
}

// Update use only: not update columns
/*func (statement *Statement) NotCols(columns ...string) *Statement {
	newColumns := col2NewCols(columns...)
	for _, nc := range newColumns {
		statement.mustColumnMap[strings.ToLower(nc)] = false
	}
	return statement
}*/

// indicates that use bool fields as update contents and query contiditions
func (statement *Statement) UseBool(columns ...string) *Statement {
	if len(columns) > 0 {
		statement.MustCols(columns...)
	} else {
		statement.allUseBool = true
	}
	return statement
}

// do not use the columns
func (statement *Statement) Omit(columns ...string) {
	newColumns := col2NewCols(columns...)
	for _, nc := range newColumns {
		statement.columnMap[strings.ToLower(nc)] = false
	}
	statement.OmitStr = statement.Engine.Quote(strings.Join(newColumns, statement.Engine.Quote(", ")))
}

// Update use only: update columns to null when value is nullable and zero-value
func (statement *Statement) Nullable(columns ...string) {
	newColumns := col2NewCols(columns...)
	for _, nc := range newColumns {
		statement.nullableMap[strings.ToLower(nc)] = true
	}
}

// Generate LIMIT limit statement
func (statement *Statement) Top(limit int) *Statement {
	statement.Limit(limit)
	return statement
}

// Generate LIMIT start, limit statement
func (statement *Statement) Limit(limit int, start ...int) *Statement {
	statement.LimitN = limit
	if len(start) > 0 {
		statement.Start = start[0]
	}
	return statement
}

// Generate "Order By order" statement
func (statement *Statement) OrderBy(order string) *Statement {
	if statement.OrderStr != "" {
		statement.OrderStr += ", "
	}
	statement.OrderStr += order
	return statement
}

func (statement *Statement) Desc(colNames ...string) *Statement {
	if statement.OrderStr != "" {
		statement.OrderStr += ", "
	}
	newColNames := statement.col2NewColsWithQuote(colNames...)
	sqlStr := strings.Join(newColNames, " DESC, ")
	statement.OrderStr += sqlStr + " DESC"
	return statement
}

// Method Asc provide asc order by query condition, the input parameters are columns.
func (statement *Statement) Asc(colNames ...string) *Statement {
	if statement.OrderStr != "" {
		statement.OrderStr += ", "
	}
	newColNames := statement.col2NewColsWithQuote(colNames...)
	sqlStr := strings.Join(newColNames, " ASC, ")
	statement.OrderStr += sqlStr + " ASC"
	return statement
}

//The join_operator should be one of INNER, LEFT OUTER, CROSS etc - this will be prepended to JOIN
func (statement *Statement) Join(join_operator string, tablename interface{}, condition string) *Statement {
	var joinTable string
	switch tablename.(type) {
	case []string:
		t := tablename.([]string)
		l := len(t)
		if l > 1 {
			table := t[0]
			joinTable = statement.Engine.Quote(table) + " AS " + statement.Engine.Quote(t[1])
		} else if l == 1 {
			table := t[0]
			joinTable = statement.Engine.Quote(table)
		}
	case []interface{}:
		t := tablename.([]interface{})
		l := len(t)
		table := ""
		if l > 0 {
			f := t[0]
			v := rValue(f)
			t := v.Type()
			if t.Kind() == reflect.String {
				table = f.(string)
			} else if t.Kind() == reflect.Struct {
				r := statement.Engine.autoMapType(v)
				table = r.Name
			}
		}
		if l > 1 {
			joinTable = statement.Engine.Quote(table) + " AS " + statement.Engine.Quote(fmt.Sprintf("%v", t[1]))
		} else if l == 1 {
			joinTable = statement.Engine.Quote(table)
		}
	default:
		t := fmt.Sprintf("%v", tablename)
		joinTable = statement.Engine.Quote(t)
	}
	if statement.JoinStr != "" {
		statement.JoinStr = statement.JoinStr + fmt.Sprintf(" %v JOIN %v ON %v", join_operator,
			joinTable, condition)
	} else {
		statement.JoinStr = fmt.Sprintf("%v JOIN %v ON %v", join_operator,
			joinTable, condition)
	}
	return statement
}

// Generate "Group By keys" statement
func (statement *Statement) GroupBy(keys string) *Statement {
	statement.GroupByStr = keys
	return statement
}

// Generate "Having conditions" statement
func (statement *Statement) Having(conditions string) *Statement {
	statement.HavingStr = fmt.Sprintf("HAVING %v", conditions)
	return statement
}

// Always disable struct tag "deleted"
func (statement *Statement) Unscoped() *Statement {
	statement.unscoped = true
	return statement
}

func (statement *Statement) genColumnStr() string {
	table := statement.RefTable
	colNames := make([]string, 0)
	for _, col := range table.Columns() {
		if statement.OmitStr != "" {
			if _, ok := statement.columnMap[strings.ToLower(col.Name)]; ok {
				continue
			}
		}
		if col.MapType == core.ONLYTODB {
			continue
		}

		if statement.JoinStr != "" {
			var name string
			if statement.TableAlias != "" {
				name = statement.Engine.Quote(statement.TableAlias)
			} else {
				name = statement.Engine.Quote(statement.TableName())
			}
			name += "." + statement.Engine.Quote(col.Name)
			if col.IsPrimaryKey && statement.Engine.Dialect().DBType() == "ql" {
				colNames = append(colNames, "id() AS "+name)
			} else {
				colNames = append(colNames, name)
			}
		} else {
			name := statement.Engine.Quote(col.Name)
			if col.IsPrimaryKey && statement.Engine.Dialect().DBType() == "ql" {
				colNames = append(colNames, "id() AS "+name)
			} else {
				colNames = append(colNames, name)
			}
		}
	}
	return strings.Join(colNames, ", ")
}

func (statement *Statement) genCreateTableSQL() string {
	return statement.Engine.dialect.CreateTableSql(statement.RefTable, statement.AltTableName,
		statement.StoreEngine, statement.Charset)
}

func indexName(tableName, idxName string) string {
	return fmt.Sprintf("IDX_%v_%v", tableName, idxName)
}

func (s *Statement) genIndexSQL() []string {
	var sqls []string = make([]string, 0)
	tbName := s.TableName()
	quote := s.Engine.Quote
	for idxName, index := range s.RefTable.Indexes {
		if index.Type == core.IndexType {
			sql := fmt.Sprintf("CREATE INDEX %v ON %v (%v);", quote(indexName(tbName, idxName)),
				quote(tbName), quote(strings.Join(index.Cols, quote(","))))
			sqls = append(sqls, sql)
		}
	}
	return sqls
}

func uniqueName(tableName, uqeName string) string {
	return fmt.Sprintf("UQE_%v_%v", tableName, uqeName)
}

func (s *Statement) genUniqueSQL() []string {
	var sqls []string = make([]string, 0)
	tbName := s.TableName()
	for _, index := range s.RefTable.Indexes {
		if index.Type == core.UniqueType {
			sql := s.Engine.dialect.CreateIndexSql(tbName, index)
			sqls = append(sqls, sql)
		}
	}
	return sqls
}

func (s *Statement) genDelIndexSQL() []string {
	var sqls []string = make([]string, 0)
	for idxName, index := range s.RefTable.Indexes {
		var rIdxName string
		if index.Type == core.UniqueType {
			rIdxName = uniqueName(s.TableName(), idxName)
		} else if index.Type == core.IndexType {
			rIdxName = indexName(s.TableName(), idxName)
		}
		sql := fmt.Sprintf("DROP INDEX %v", s.Engine.Quote(rIdxName))
		if s.Engine.dialect.IndexOnTable() {
			sql += fmt.Sprintf(" ON %v", s.Engine.Quote(s.TableName()))
		}
		sqls = append(sqls, sql)
	}
	return sqls
}

/*
func (s *Statement) genDropSQL() string {
	return s.Engine.dialect.MustDropTa(s.TableName()) + ";"
}*/

func (statement *Statement) genGetSql(bean interface{}) (string, []interface{}) {
	var table *core.Table
	if statement.RefTable == nil {
		table = statement.Engine.TableInfo(bean)
		statement.RefTable = table
	} else {
		table = statement.RefTable
	}

	var addedTableName = (len(statement.JoinStr) > 0)

	colNames, args := buildConditions(statement.Engine, table, bean, true, true,
		false, true, statement.allUseBool, statement.useAllCols,
		statement.unscoped, statement.mustColumnMap, statement.TableName(), addedTableName)

	statement.ConditionStr = strings.Join(colNames, " "+statement.Engine.dialect.AndStr()+" ")
	statement.BeanArgs = args

	var columnStr string = statement.ColumnStr
	if len(statement.selectStr) > 0 {
		columnStr = statement.selectStr
	} else {
		if len(statement.JoinStr) == 0 {
			if len(columnStr) == 0 {
				if statement.GroupByStr != "" {
					columnStr = statement.Engine.Quote(strings.Replace(statement.GroupByStr, ",", statement.Engine.Quote(","), -1))
				} else {
					columnStr = statement.genColumnStr()
				}
			}
		} else {
			if len(columnStr) == 0 {
				if statement.GroupByStr != "" {
					columnStr = statement.Engine.Quote(strings.Replace(statement.GroupByStr, ",", statement.Engine.Quote(","), -1))
				} else {
					columnStr = "*"
				}
			}
		}
	}

	statement.attachInSql() // !admpub!  fix bug:Iterate func missing "... IN (...)"
	return statement.genSelectSql(columnStr), append(statement.Params, statement.BeanArgs...)
}

func (s *Statement) genAddColumnStr(col *core.Column) (string, []interface{}) {
	quote := s.Engine.Quote
	sql := fmt.Sprintf("ALTER TABLE %v ADD %v;", quote(s.TableName()),
		col.String(s.Engine.dialect))
	return sql, []interface{}{}
}

/*func (s *Statement) genAddIndexStr(idxName string, cols []string) (string, []interface{}) {
	quote := s.Engine.Quote
	colstr := quote(strings.Join(cols, quote(", ")))
	sql := fmt.Sprintf("CREATE INDEX %v ON %v (%v);", quote(idxName), quote(s.TableName()), colstr)
	return sql, []interface{}{}
}

func (s *Statement) genAddUniqueStr(uqeName string, cols []string) (string, []interface{}) {
	quote := s.Engine.Quote
	colstr := quote(strings.Join(cols, quote(", ")))
	sql := fmt.Sprintf("CREATE UNIQUE INDEX %v ON %v (%v);", quote(uqeName), quote(s.TableName()), colstr)
	return sql, []interface{}{}
}*/

func (statement *Statement) genCountSql(bean interface{}) (string, []interface{}) {
	table := statement.Engine.TableInfo(bean)
	statement.RefTable = table

	var addedTableName = (len(statement.JoinStr) > 0)

	colNames, args := buildConditions(statement.Engine, table, bean, true, true, false,
		true, statement.allUseBool, statement.useAllCols,
		statement.unscoped, statement.mustColumnMap, statement.TableName(), addedTableName)

	statement.ConditionStr = strings.Join(colNames, " "+statement.Engine.Dialect().AndStr()+" ")
	statement.BeanArgs = args

	// count(index fieldname) > count(0) > count(*)
	var id string = "*"
	if statement.Engine.Dialect().DBType() == "ql" {
		id = ""
	}
	statement.attachInSql()
	return statement.genSelectSql(fmt.Sprintf("count(%v)", id)), append(statement.Params, statement.BeanArgs...)
}

func (statement *Statement) genSelectSql(columnStr string) (a string) {
	var distinct string
	if statement.IsDistinct {
		distinct = "DISTINCT "
	}

	var dialect core.Dialect = statement.Engine.Dialect()
	var top string
	var mssqlCondi string

	statement.processIdParam()
	var whereStr string
	if statement.WhereStr != "" {
		if statement.ConditionStr != "" {
			whereStr = fmt.Sprintf(" WHERE (%v)", statement.WhereStr)
		} else {
			whereStr = fmt.Sprintf(" WHERE %v", statement.WhereStr)
		}
		if statement.ConditionStr != "" {
			whereStr = fmt.Sprintf("%v %s (%v)", whereStr, dialect.AndStr(),
				statement.ConditionStr)
		}
	} else if statement.ConditionStr != "" {
		whereStr = fmt.Sprintf(" WHERE %v", statement.ConditionStr)
	}
	var fromStr string = " FROM " + statement.Engine.Quote(statement.TableName())
	if statement.TableAlias != "" {
		if dialect.DBType() == core.ORACLE {
			fromStr += " " + statement.Engine.Quote(statement.TableAlias)
		} else {
			fromStr += " AS " + statement.Engine.Quote(statement.TableAlias)
		}
	}
	if statement.JoinStr != "" {
		fromStr = fmt.Sprintf("%v %v", fromStr, statement.JoinStr)
	}

	if dialect.DBType() == core.MSSQL {
		if statement.LimitN > 0 {
			top = fmt.Sprintf(" TOP %d ", statement.LimitN)
		}
		if statement.Start > 0 {
			var column string = "(id)"
			if len(statement.RefTable.PKColumns()) == 0 {
				for _, index := range statement.RefTable.Indexes {
					if len(index.Cols) == 1 {
						column = index.Cols[0]
						break
					}
				}
				if len(column) == 0 {
					column = statement.RefTable.ColumnsSeq()[0]
				}
			}
			var orderStr string
			if len(statement.OrderStr) > 0 {
				orderStr = " ORDER BY " + statement.OrderStr
			}
			var groupStr string
			if len(statement.GroupByStr) > 0 {
				groupStr = " GROUP BY " + statement.GroupByStr
			}
			mssqlCondi = fmt.Sprintf("(%s NOT IN (SELECT TOP %d %s%s%s%s%s))",
				column, statement.Start, column, fromStr, whereStr, orderStr, groupStr)
		}
	}

	// !nashtsai! REVIEW Sprintf is considered slowest mean of string concatnation, better to work with builder pattern
	a = fmt.Sprintf("SELECT %v%v%v%v%v", top, distinct, columnStr,
		fromStr, whereStr)
	if mssqlCondi != "" {
		if whereStr != "" {
			a += " AND " + mssqlCondi
		} else {
			a += " WHERE " + mssqlCondi
		}
	}

	if statement.GroupByStr != "" {
		a = fmt.Sprintf("%v GROUP BY %v", a, statement.GroupByStr)
	}
	if statement.HavingStr != "" {
		a = fmt.Sprintf("%v %v", a, statement.HavingStr)
	}
	if statement.OrderStr != "" {
		a = fmt.Sprintf("%v ORDER BY %v", a, statement.OrderStr)
	}
	if dialect.DBType() != core.MSSQL && dialect.DBType() != core.ORACLE {
		if statement.Start > 0 {
			a = fmt.Sprintf("%v LIMIT %v OFFSET %v", a, statement.LimitN, statement.Start)
		} else if statement.LimitN > 0 {
			a = fmt.Sprintf("%v LIMIT %v", a, statement.LimitN)
		}
	} else if dialect.DBType() == core.ORACLE {
		if statement.Start != 0 || statement.LimitN != 0 {
			a = fmt.Sprintf("SELECT %v FROM (SELECT %v,ROWNUM RN FROM (%v) at WHERE ROWNUM <= %d) aat WHERE RN > %d", columnStr, columnStr, a, statement.Start+statement.LimitN, statement.Start)
		}
	}
	if statement.IsForUpdate {
		a = dialect.ForUpdateSql(a)
	}

	return
}

func (statement *Statement) processIdParam() {
	if statement.IdParam != nil {
		if statement.Engine.dialect.DBType() != "ql" {
			for i, col := range statement.RefTable.PKColumns() {
				if i < len(*(statement.IdParam)) {
					statement.And(fmt.Sprintf("%v %s ?", statement.Engine.Quote(col.Name),
						statement.Engine.dialect.EqStr()), (*(statement.IdParam))[i])
				} else {
					statement.And(fmt.Sprintf("%v %s ?", statement.Engine.Quote(col.Name),
						statement.Engine.dialect.EqStr()), "")
				}
			}
		} else {
			if len(*(statement.IdParam)) <= 1 {
				statement.And("id() == ?", (*(statement.IdParam))[0])
			}
		}
	}
}


The National Highway Traffic Safety Administration reports that up to 6,000 fatal crashes each year may be caused by drivers who are drowsy behind the wheel. Driver fatigue is a major problem in the state of Illinois and all across the nation, responsible for 72,000 crashes and 44,000 injuries in the year 2013 alone, and those numbers are likely grossly underestimated.
Everyone is at risk for experiencing driver fatigue when they are overly tired or intoxicated, although statistics suggest that commercial drivers are particularly at risk for operating a vehicle while drowsy. Tow truck, tractor trailer, and bus drivers of all kinds are especially vulnerable, as long and irregular hours tend to wear on the body's natural sleep rhythms, endangering the ability to remain alert and safe behind the wheel. Other root causes for drowsy driving include a general lack of sleep, working night shifts or excessively long hours, using medications that cause drowsiness, and untreated sleep disorders, such as sleep apnea.
With the overwhelming statistics that surround problematic driver fatigue, car manufacturers have taken note and are working together with technology companies to create mechanisms that offer the capability to detect when a driver is experiencing dangerous fatigue. Gadgets such as driver fatigue alarms already exist on the market, which monitor your head movements and produce an alarm to alert you when you begin nodding off, but the transportation industry has been taking steps to further address the need for driver fatigue alert systems in vehicles.
Leading car manufacturers in Europe and Japan are already working with companies like Plessey Semiconductors to integrate sensors that can be embedded into the seats of cars that detect the driver's ECG, which detects heart rate variability. This information helps measure a driver's heart rate activity.
For example, when the driver's heart rate slows down significantly, the sensor indicates the rapid change in heartbeat patterns and is able to bring the change to the driver's attention, preventing imminent collision. Drivers will likely have to wait a while to see the technology fully surface, but the unveiling of models that showcase the feature is on the horizon, with expected debuts from luxury car markets, first.
If you have experienced a collision due to driver fatigue firsthand, you need to consult with a skilled Lake County car accident attorney to protect your rights in a court of law. Call Salvi & Maher, L.L.C. today at 847-662-3303 for a personal consultation.


Cushions breakdown and lose seal over time.
Frequent cleanings with proper disinfectants will increase the life of your cushion.
Over time headgear stretches out requiring over tightening to keep your mask in place.
The more you wash headgear the more the elastic wears out.
Detach hose by pulling on the rubber end, to prevent wear to the cusp.
Mineral deposits build up and compromise air quality.
Mineral deposit is unsanitary and irritating to sinuses.
Use distilled water. Empty your chamber each morning increases life of chamber.
Reusable filters are meant to be rinsed and reused, but not for longer than six months.
New filters mean cleaner, higher quality air intake.
Fine filters can't be washed, only replaced.
Since these filters catch fine particles, they must be changed more frequently.


text:
Q: Is there any algorithm or solution for term identification? I want to extract terminological units from a corpus of specialized documents. Is there any algorithm or out-of-box solution for this? Can nltk do this?
It seems this thread addressed my question.
Extracting terms with contextual relevance (noun phrases) from text in a .NET project

A: The description of what you want isn't very clear. To get better help you should probably also post an example
It sounds like what you're looking for is called Named Entity Recognition. Depending exactly on what you want (and your data) there are existing systems that are very good, but the problem is definitely not solved. If this is what you want, important systems to look at are GATE, Apache OpenNLP and even NLTK.

redpajama_set_name: RedPajamaStackExchange


Manufacturer of a wide range of products which include cast machine stretch wrap film, cling wrap film and cast hand stretch wrap film.
Backed by our efficient workforce, we are capable of manufacturing and supplying an exclusive range of Cast Machine Stretch Wrap Film. All our offered films are widely demanded packaging industry for packing several items and products. These films are manufactured using quality-grade material, which is obtained from the trusted vendors of the market.
We are one of the leading organizations, engaged in manufacturing and supplying a high-quality range of Cling Wrap Film. At par with international quality standards, our offered films are manufactured using plastic material and modern machinery. In addition to this, our expert quality controllers stringently check all these films on different parameters to ensure flawlessness.
To fulfill the demands and needs of our esteemed clients, we manufacture and supply a high-quality range of Cast Hand Stretch Wrap Film. All these films are widely demanded by various customers for packing good and items. Apart from this, our C&F agents enable us to deliver these films at customers' premises within the committed time frame.


text:
How fashion brands are taking advantage of blockchain apparel
The fast-growing consumer desire for sustainable clothing is increasing demand for blockchain apparel solutions that allow brands to communicate traceability and ethical sourcing.
The luxury apparel industry is adapting to three key challenges. Firstly, there is the rapid growth of counterfeiting, which has grown into a global and highly-sophisticated market worth billions of dollars. The Global Brand Counterfeiting Report has recently estimated losses of nearly $100 billion, demonstrating the growing extent of counterfeiting in luxury goods.
Protecting brand authenticity has therefore rapidly risen up the business agenda. When products from a fashion label are counterfeited, reputations built on craft, origin, and quality are inevitably tarnished. The leading brands must find new ways of reassuring customers that they are buying the genuine article.
Next, environmentalism is now a key driver of choice in the market. According to IBM's US Retail Index for 2020, sustainability has hit a tipping point with global sustainable and environmentally responsible investment up by 68 percent to exceed USD 30 trillion. "More and more, awareness of global environmental issues is changing the habits of consumers wherever they live. These attitudes are driving brand choice. Over 7 in 10 consumers say it's at least moderately important that brands offer "clean" products (78 percent), are sustainable and environmentally responsible (77 percent), support recycling (76 percent), or use natural ingredients (72 percent)," found the report.
The narrative around fast fashion – associated with opaque supply chains, unsustainable sourcing, high water usage and global transportation – has tarnished the whole industry. Brands feel compelled to put distance between themselves and the 'bad apples', by demonstrating that their raw materials, and especially products such as animal skin, are fully traceable to sustainable and high-welfare sources.
The snowball effect of complex supply chains is becoming a brand headache. Even those companies that manage their provenance carefully can become tainted by growing consumer suspicion about a sector.
Finally, media stories have highlighted the human impact of improper worker rights and working conditions. For brands using precious materials, such as gold and gemstones, there is an added expectation to prove that this bling comes from non-conflict mines. Saying so doesn't make it so. The burden of evidence is with the manufacturers.
How do blockchain apparel solutions power transparency in luxury fashion?
Digital provenance has emerged as a way of helping apparel brands to counter the threats of counterfeiting, demonstrate their sustainable and ethical credentials, and also differentiate in a competitive market. By creating a unique digital identity for every product – a digital twin – its lifetime journey can be traced on the immutable blockchain from raw material to design and sale, and then resale and recycling, depending on the brand's needs.
Supply chains are famous for their complexity, with a vast network of manufacturers, warehouses, transport depots, communication channels and logistic providers, each managing their own databases and logistics. Blockchain connects the apparel supply chain with a real-time flow of data, replacing fragmented data with a single, immutable ledger that is visible to all permitted parties. This allows retailers to build more customer-centric supply chains that prioritise authentication and trust.
Therefore, consumers can learn easily where the cotton or silk for a garment came from, who designed it, where it was manufactured, and who owned it before them. The Everledger Platform uses blockchain – as well as other technologies such as Near-Field Communication (NFC) and Internet of Things (IoT) – to give apparel and luxury brands the confidence to stand behind the goods that bear their name. The private blockchain allows secure records and accessibility to end consumers.
Contact our team to find out more
Using blockchain to shine a light on the apparel supply chain
How does this work in practice? MCQ, a fashion label that was relaunched last year by Alexander McQueen, provides a useful case study. The label harnesses blockchain and IoT to demonstrate its sustainability commitments and unite customers around a shared passion: sustainable luxury fashion.
Under the leadership of MCQ, Everledger has developed the tech integration throughout the brand's supply chain, products and online consumer experience. And in partnership with Temera, a leader in IoT technology for the fashion industry, this collaboration has furthered the adoption of an easy-to-experience and seamless technology that accelerates the journey to more circular and sustainable fashion. NFC chips fuse the physical clothes with their digital twins, which are then recorded on the Everledger blockchain platform for ultimate data security.
MCQ has designed the unique MYMCQ concept, a blockchain-powered tech platform implemented by Everledger, which enables designers and consumers to securely register and trade items of clothing designed by a hand-picked selection of designers. MYMCQ offers a focus point for a community of like-minded individuals, who share an interest in the label. Everledger's technology enables the creation of a secure and permanent digital record of each clothing item on the blockchain.
Could blockchain solutions transform the luxury apparel industry?
Besides the extra security of the technology, consumers enjoy an improved user experience, as the entire life cycle for each garment is available online, from when and where it was designed, to the first purchase, and even resale. Consumers can be confident they're purchasing authentic items, regardless of whether they're being sold directly from MCQ or peer-to-peer, helping to combat counterfeit luxury goods. By enabling the easy resale of items between consumers, MCQ hopes to encourage a more mindful consumerism.
Every collaborator in the story of each MCQ garment is credited for their contribution, and every consumer is invited to take the full value of their products, creating a new ecosystem for those engaged with the brand. Each item is registered on the blockchain platform, blending technology and design.
This revolutionary approach for the fashion industry allows our partner to tell a unique and unchangeable story about every garment. Equipped with the authenticity enabled by blockchain, customers can buy, collect and sell items with 100% certainty that each one is one-of-a-kind and made by people who take real pride in working for the brand.
Which blockchain solutions are best for the apparel industry?
It is not every day that we see the birth of a brand, let alone one that connects two worlds: fashion and technology. The MYMCQ platform is an outstanding achievement by the visionaries at MCQ and a very dedicated group of people that turned that future into reality.
We're honoured to be part of a project that will change the fashion industry forever, and for the better. More circular, more sustainable, more connected with their end consumers.
In an age when brand loyalty is low and customer experience is vital, any hurdle in providing trustworthy information about a product's provenance and characteristics can create friction for customers at the time of purchase.
By surfacing more accurate information, Everledger is helping the luxury and apparel industries to function with efficiency, improving the experience for brands and customers alike. Fashion houses, retailers and consumers can come together behind a more unified and trustworthy set of reliable information.
Our blockchain and IoT solutions allow all stakeholders to make informed decisions, claim authenticity, track ownership, and improve customer experience like never before. Everyone wins with ever more transparency.
Find out more about our industry solutions
You may like these too
BlockchainCircular EconomyLatest NewsSupply ChainSustainability
The recently enacted Inflation Reduction Act (USA) places stringent requirements on auto manufacturers to evidence the m
BlockchainDiamondsMarket
How Smart Contracts Trigger Swift Action To Take Russian Goods Off The Market
Blockchain technology and smart contracts have opened up a whole new world of digital possibilities. At their most basic
More women in leadership shouldn't matter – but it really does
Since 2015 the number of women in senior leadership in business has grown and diversity in leadership is good for busine
Can the rising youth create peer pressure in the diamond industry?
Everledger talks to five members of the Young Diamantaires Club, a global network that brings together the next generati
Circular EconomyResourcesSustainabilityTechnology
Clean Technologies Have More Complicated Mineral Requirements Than Fossil Fuels: A Critical Commitment To Transition Critical Minerals
Everledger CEO Leanne Kemp explores how critical minerals mining must evolve in line with growing investor appetite for
DiamondsLatest NewsLuxury Goods
As the diamond industry re-emerges from the Covid-19 shutdown, Everledger CEO Leanne Kemp urges business leaders to wide
BlockchainCircular EconomySupply ChainSustainabilityTechnology
How the European Commission plans to close the battery loop
The 50th Annual Meeting of the World Economic Forum in Davos, this January, made headlines for its focus on climate chan
Press Release: Provenance Proof Blockchain
PROVENANCE PROOF EVOLVES PLATFORM TO FACILITATE TRACKING OF COLOURED GEMSTONES ALONG THE SUPPLY CHAIN Blockchain platfor
Latest NewsSustainability


Over the last decade, the financial services industry has seen a significant uptick in regulation with multijurisdictional and interlinked regulatory requirements impacting businesses globally. The key element of these regulations has been that financial institutions need to ensure that they are operating their businesses in a prudent and controlled manner. RegTech is a discipline which applies technological innovations to support compliance with regulatory requirements. It helps by allowing Financial Institutions to: Take Control, Be in Control, and Demonstrate Control of regulation through better defined, documented and auditable digital operations. This allows firms to break down regulatory silos and manage requirements holistically.
After the successful launch of innovation programs around Blockchain, Artificial Intelligence and InsurTech, Synechron's RegTech Accelerator program is the latest innovation from our Financial Innovation Labs (FinLabs). This program aims to bring increased control to financial organizations through technology. By addressing real regulatory business problems with a unique combination of business consulting, technology and digital experts, our Accelerators provide clients a foundation that can adapt to new and changing regulations, maximize efficiency, enhance data quality, and improve decision making.
Furthermore, Synechron's RegTech Accelerator program brings together deep techno-functional expertise in both Risk and Regulation and uses industry-leading technology approaches to help solve problems across global regulations including Basel III, Fundamental Review of the Trading Book (FRTB), Books and Records requirements, and more. The objective of the RegTech Accelerator program is to empower global financial institutions not just to address compliance but to gain real business value and control while facing continued regulatory and cost pressures. In short – they can tackle challenges head-on.
Leveraging Data Science and Predictive Analytics to automate laborious manual controls testing processes.
RegTech applies technological innovations to achieve compliance with regulatory requirements. It can help Financial Institutions to: Take Control, Be in Control, and Demonstrate Control. Click the below button to know how regulatory technology (RegTech) can empower financial institutions.